如果出现非关键服务器错误,我应该在API中返回哪个HTTP状态代码?
例如,/dev/xxx
被调用,但由于null传递失败,或者在尝试访问数据库时可能出现一些错误,无论如何。
我考虑过 500 代码,但是当服务器根本不工作时使用它,
而SomeMethod
只有在一切正确时才有效。
当然,回复正文包含错误及其描述。
答案 0 :(得分:1)
由于没有针对“非严重错误”的特定HTTP代码,我所能做的只是告诉你我的意见,即 - 只需使用200并打印类似异常的响应。
正如您在评论中所说的那样 - 您可以优雅地处理内部错误,因此只需向客户端抛出一个异常即可解释其请求失败的原因(“原因”可能类似于“内部数据库错误”)。
答案 1 :(得分:1)
如果这些“非严重错误”是由客户端的错误输入引起的(例如,错误的数据类型),那么您应该使用客户端错误状态代码 400(错误请求)。
以下是standard:
的说明400(错误请求)状态代码表示服务器不能或 由于被认为是某种东西,它不会处理请求 客户端错误(例如,格式错误的请求语法,无效请求 消息框架或欺骗性请求路由)。