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.