Я реализую веб-сервис, который возвращает JSON-кодированную полезную нагрузку. В случае сбоя вызова службы, скажем, из-за неверных параметров, возвращается кодированная в JSON ошибка. Однако я не уверен, какой код статуса HTTP должен быть возвращен в этой ситуации.
С одной стороны, кажется, что коды состояния HTTP предназначены для HTTP: даже если возвращается ошибка приложения, сама передача HTTP прошла успешно, что предполагает ответ 200 OK .
С другой стороны, подход RESTful, по-видимому, предполагает, что если вызывающая сторона пытается отправить сообщение на ресурс, а параметры JSON запроса каким-то образом недопустимы, то 400 Bad Request необходимо.
Я использую Prototype на стороне клиента, который имеет удобный механизм автоматической отправки различных обратных вызовов на основе кода состояния HTTP ( onSuccess и onFailure ), поэтому я ' У меня возникает соблазн использовать коды состояния, чтобы указать на успех или неудачу обслуживания, но мне было бы интересно узнать, есть ли у кого-то мнение или опыт в этой области.
Спасибо!