2012-02-15 1 views
1

Согласно Википедии, код ответа 400 указывает The request cannot be fulfilled due to bad syntax.Когда должен использоваться HTTP 400 Bad Request в качестве кода ответа?

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

ответ

1

Я не претендую быть экспертом, но давайте сравним, что the spec говорит:

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... 

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