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