Aynı DELETE isteği iki kez gönderiliyor:
İki çağrı farklı status code döndürüyor. DELETE'in idempotency'si ihlal edilmiş midir?
DELETE /orders/42 -> 204 No Content
DELETE /orders/42 -> 404 Not Foundİki çağrı farklı status code döndürüyor. DELETE'in idempotency'si ihlal edilmiş midir?
- aHayır — idempotency sunucu state'iyle ilgilidir; iki çağrıdan sonra da sipariş eşit derecede silinmiştir✓
- bEvet — idempotent bir metod her tekrarda aynı status code'u döndürmek zorundadır; yalnızca aynı son state'e ulaşmak yetmez
- cEvet — istemci retry'ı bırakana kadar sunucu 204 döndürmeye devam etmeliydi
- dHayır — çünkü DELETE zaten hiçbir zaman idempotent bir metod olmadı
Açıklama:Idempotency, isteğin tekrarının sunucuyu aynı state'te bırakacağını vadeder; response'un birebir aynı olacağını değil. İki çağrıdan sonra da sipariş yoktur; 404 sadece artık var olmadığını raporlar. Aynı status code beklemek (b), tanımın en sık yanlış okunma biçimidir.