Я видел людей, использующих HTTP-код 500 в качестве общего кода ошибки для всех случаев ошибок (ошибки сервера, ошибки HTTP, исключения кода, ожидаемая запись, не найденная в БД, исключения тайм-аута и т. Д.). Однако я также прочитал и услышал, что этот код 500 должен использоваться только в случае ошибок, возникающих из сервера приложений (JBoss в моем случае), а НЕ приложение, то есть не для исключений кода или неверных паролей или БД -рекордные случаи. Итак, когда мы должны вернуть код состояния HTTP 500 из метода службы REST?Когда мне нужно вернуть код состояния HTTP 500 (внутренняя ошибка сервера) из приложения REST на клиент?
1
A
ответ
2
Как описано в HTTP спецификации:.
«THE 5xx (ошибка сервера) класс кодов состояния указывает на то, что сервер знает, что она совершила ошибку или неспособен выполнить запрошенный метод за исключением того, при ответе на HEAD, сервер ДОЛЖЕН отправить представление, содержащее объяснение ситуации ошибки, и является ли это временным или постоянным условием. Пользовательский агент ДОЛЖЕН отображать любое включенное представление пользователю. Эти коды ответа применимы к любому методу запроса ». - https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.6
Обратите внимание, что с точки зрения протокола не имеет значения, является ли это сервером приложений или чем-то запущенным внутри сервера приложений.