Проєктування API · Junior · Запитання 68 з 75
Користувач двічі клацає «Оплатити», і клієнт надсилає POST /payments двічі. Який ризик і поширене рішення?
- 1Ризику немає: HTTP відкидає дублікати запитів
- ✓Правильна відповідь: Два платежі, бо POST не ідемпотентний; клієнт надсилає заголовок
Idempotency-Key, і сервер обробляє ключ лише раз - 3Другий запит завжди автоматично падає з 409
Пояснення
Ключі ідемпотентності популяризував Stripe. Вимкнення кнопки теж допомагає, але повтори після таймаутів усе одно потребують захисту на сервері.