Выбор ответа Middle HTTP: методы, статусы, заголовки обновлено

Статус для ошибки валидации

Вопрос

Клиент прислал корректный JSON, но поле email пустое. Какой статус точнее всего описывает ситуацию?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 422 Unprocessable Content. 422 значит: запрос разобран, но данные не проходят смысловую проверку.

Варианты ответа

  1. 500 Internal Server Error
  2. 409 Conflict
  3. 200 OK с полем error в теле
  4. 422 Unprocessable Contentправильный ответ

Разбор

422 значит: запрос разобран, но данные не проходят смысловую проверку. Многие API отдают здесь 400, это тоже допустимо, но 422 точнее. 500 сваливает вину на сервер, хотя ошибся клиент. 409 про конфликт с текущим состоянием (например, email уже занят). 200 с ошибкой ломает ретраи, мониторинг и обработку в клиенте.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.