Какой правильный код состояния http, если неверный параметр URI - PullRequest
0 голосов
/ 18 апреля 2011

Учитывая, что у меня есть HTTP-интерфейс, и, например,

POST /user

ожидает публикации определенного JSON (например, {"username": "keppla"}) или

GET /search

ожидает такой параметр, как /search?term=whatisearch

Если клиент не отправляет ожидаемые данные, какой будет правильный код ошибки?

Ответы [ 2 ]

5 голосов
/ 18 апреля 2011

400-499 - диапазон для незавершенных клиентских запросов.Похоже, 400 - это правильный код ошибки для вашего варианта использования.

400 - неверный запрос, сервер не смог понять запрос, возможно, из-за синтаксической ошибки.

4 голосов
/ 18 апреля 2011

422 - это возможность, но она обычно не используется, поскольку широко не известно, что допустимо использовать коды состояния WEBDAV, даже если вы не используете WEBDAV.

422 - Запрос был правильно сформирован, но не удалось следовать из-за семантические ошибки

Для второго сценария можно утверждать, что 404 является более подходящим, поскольку неправильно сформирован URI, а не тело запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...