Когда следует использовать HTTP 400 Bad Request в качестве кода ответа? - PullRequest
1 голос
/ 16 февраля 2012

Согласно Википедии, код ответа 400 указывает The request cannot be fulfilled due to bad syntax.

Является ли этот код состояния подходящим для возврата, когда даются неверные, но синтаксически правильные данные?Если нет, то что?

1 Ответ

1 голос
/ 17 февраля 2012

Я не претендую на звание эксперта, но давайте сравним, что спецификация говорит:

400 Bad Request - The request could not be understood by the server due 
to malformed syntax....

Таким образом, 400, кажется, специфичен для синтаксических ошибок. Вот еще один, который выглядит лучше, когда синтаксис хорош, но значение не так:

409 Conflict - The request could not be completed due to a conflict with 
the current state of the resource...

Вы захотите прочитать полное описание для 409 , прежде чем принять решение (оно гораздо более длинное), но это, кажется, лучший выбор для данного сценария. В нем говорится, что конфликты, скорее всего, будут иметь место с запросами PUT, но, как я читаю, кажется, что они могут применяться в любое время, когда входная переменная неверна. Это то, что я думаю использовать для RESTful API, который я создаю.

...