Ошибка HTTP 202 - принято - PullRequest
       37

Ошибка HTTP 202 - принято

0 голосов
/ 18 ноября 2011

Я разработал приложение REST, и один из примеров моего приложения:

Пользователь выполняет операцию на стороне сервера.Все идет хорошо, сервер принимает данные правильно, однако возникает какая-то ошибка, например, связь с базой данных.Я не хочу возвращать его с кодом ошибки. Я хочу отправить его с кодом успеха, но тело содержит ошибку.Я хочу отправить коды ошибок для 500, 404 и т. Д. Правильно ли оформлен мой дизайн и какой код статуса я должен вернуть для моего случая?

Ответы [ 4 ]

1 голос
/ 18 ноября 2011

В этом случае наиболее подходящей будет ошибка 5хх.

500 для какой-то внутренней ошибки сервера или

503 для службы недоступен

Посмотрите здесь все коды ошибок для HTTP / 1.1 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Вы должны всегда возвращать код ошибки для вашего отдыха, если это уместно. Возврат кода успеха, но внесение ошибки в ваш ответ не является правильным решением.

0 голосов
/ 18 ноября 2011

Вы можете проверить определение статуса на rfc2616

Я использовал для реализации остальных приложений и всегда возвращал код состояния и сообщение с дополнительной информацией об ошибке.

И да, для проблемы с базой данных 503 (служба недоступна)

Существует множество вопросов по этому виду в stackoverflow ...

0 голосов
/ 18 ноября 2011

Это может помочь: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html - может быть неоднозначным в некоторых местах, но в целом легко читается IMO.

0 голосов
/ 18 ноября 2011

Если работа сервера может восстановиться после такого сбоя БД без вмешательства пользователя (например, с использованием некоторого фонового «процесса очистки»), тогда код состояния успеха может быть в порядке;в противном случае имеет смысл возвращать код состояния ошибки на стороне сервера (5xx).

...