fab*_*ous 14 api rest error-handling http error-code
我们正在构建一个新的REST API.
我争辩说永远不应该返回错误代码500(内部服务器错误).
现在,当然,如果您知道客户端的参数是错误的,或者您可以控制所有内容并且可以返回一些适当的错误代码(例如422).
因此,如果发生意外错误,服务器可以:
还有其他选择吗?
Cod*_*ter 15
这是服务器错误,而不是客户端错误.如果不将服务器错误返回给客户端,则不会为它们创建整个状态代码类(即5xx).
您无法隐藏这样一个事实,即您发出编程错误或您依赖的某些服务不可用,这当然不是客户端的错.在那些情况下返回任何其他范围的代码而不是5xx系列是没有意义的.
状态代码的5xx(服务器错误)类表示服务器知道它已经错误或无法执行所请求的方法.
情况确实如此.代码"500 Internal Server Error"没有任何"内部",因为它不应该暴露给客户端.
真正的问题是它为什么会产生500错误.如果它与任何输入参数有关,那么我认为它应该在内部处理并作为400系列错误返回.通常,400,404或406适合于反映错误输入,因为一般约定是由URL唯一地标识RESTful资源并且不能生成有效响应的URL是错误请求(400)或类似的.
如果错误是由请求显式或隐式提供的输入之外的任何其他引起的,那么我会说500错误可能是合适的.因此,500系列错误可准确表示失败的数据库连接或其他不可预测的错误.
| 归档时间: |
|
| 查看次数: |
81878 次 |
| 最近记录: |