Первый DELETE часто возвращает 204, а повторные могут возвращать 204 или 404 — это зависит от контракта. Идемпотентность не требует одинаковых HTTP-кодов.
Есть запись в базе данных. Если трижды отправить DELETE-запрос для неё, какие коды ответа ожидаются?
Первый DELETE часто возвращает 204, а повторные могут возвращать 204 или 404 — это зависит от контракта. Идемпотентность не требует одинаковых HTTP-кодов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Первый DELETE часто возвращает 204, а повторные могут возвращать 204 или 404 — это зависит от контракта. Идемпотентность не требует одинаковых HTTP-кодов.
После первого успешного удаления ресурс должен оставаться удалённым независимо от повторов. API может трактовать уже достигнутое состояние как успех либо сообщить, что ресурс отсутствует. Возможны и другие согласованные ответы, например 202 при асинхронной обработке. В тесте проверяют документацию, итоговое состояние и отсутствие повторных побочных эффектов. Нельзя автоматически объявить 404 на втором запросе нарушением идемпотентности.