Projektowanie API · Junior · Pytanie 68 z 75
Użytkownik klika dwa razy „Zapłać” i klient wysyła POST /payments dwa razy. Jakie jest ryzyko i typowe rozwiązanie?
- 1Brak ryzyka: HTTP odrzuca zduplikowane żądania
- ✓Poprawna odpowiedź: Dwie płatności, bo POST nie jest idempotentny; klient wysyła nagłówek
Idempotency-Key, a serwer przetwarza klucz tylko raz - 3Drugie żądanie zawsze automatycznie kończy się 409
Wyjaśnienie
Klucze idempotencji spopularyzował Stripe. Wyłączenie przycisku też pomaga, ale ponowienia po timeoutach nadal wymagają ochrony po stronie serwera.