Sobes.tech
Junior — Middle

Môžete uviesť príklady požiadaviek, ktoré nezaručujú idempotenciu?

sobes.tech AI

Odpoveď od AI

Idempotentnosť znamená, že opakované volanie operácie s rovnakými parametrami nezmení výsledok po prvom vykonaní.

Príklady požiadaviek, ktoré nezaručujú idempotentnosť:

  • POST požiadavky, ktoré vytvárajú nové zdroje: každé volanie vytvorí nový objekt, napríklad vytvorenie nového používateľa.
  • Požiadavky, ktoré zvyšujú čítač: napríklad incrementCounter() — opakované volanie zvýši hodnotu znova.
  • Požiadavky, ktoré spôsobujú vedľajšie účinky: odoslanie oznámenia, vykonanie platobnej transakcie.

Príklad neidempotentného požiadavky v REST API:

POST /orders
{
  "product_id": 123,
  "quantity": 1
}

Každé volanie vytvorí novú objednávku, takže opakované požiadavky zmenia stav systému.