Выбор ответа Middle HTTP: методы, статусы, заголовки обновлено
Статус для ошибки валидации
Вопрос
Клиент прислал корректный JSON, но поле email пустое. Какой статус точнее всего описывает ситуацию?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 422 Unprocessable Content. 422 значит: запрос разобран, но данные не проходят смысловую проверку.
Варианты ответа
- 500 Internal Server Error
- 409 Conflict
- 200 OK с полем error в теле
- 422 Unprocessable Contentправильный ответ
Разбор
422 значит: запрос разобран, но данные не проходят смысловую проверку. Многие API отдают здесь 400, это тоже допустимо, но 422 точнее. 500 сваливает вину на сервер, хотя ошибся клиент. 409 про конфликт с текущим состоянием (например, email уже занят). 200 с ошибкой ломает ретраи, мониторинг и обработку в клиенте.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.