为了账号安全,请及时绑定邮箱和手机立即绑定

REST API错误返回良好实践

REST API错误返回良好实践

喵喔喔 2019-08-05 16:42:02
REST API错误返回良好实践在从REST API返回错误时,我正在寻找有关良好实践的指导。我正在开发一个新的API,所以我现在可以采取任何方向。我的内容类型目前是XML,但我计划将来支持JSON。我现在正在添加一些错误情况,例如客户端尝试添加新资源但已超出其存储配额。我已经使用HTTP状态代码处理某些错误情况(401用于身份验证,403用于授权,404用于普通错误请求URI)。我查看了有福的HTTP错误代码,但400-417范围似乎没有报告特定于应用程序的错误。所以起初我很想用200 OK和特定的XML有效载荷返回我的应用程序错误(即付给我们更多,你将得到你需要的存储空间!)但是我停下来思考它并且似乎是肥皂(/耸耸肩恐怖)。此外,感觉就像我将错误响应分成不同的情况,因为有些是http状态代码驱动而其他是内容驱动。那么行业建议是什么?好的做法(请解释原因!)以及从客户端pov中,REST API中的哪种错误处理使客户端代码的生活更轻松?
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

所以起初我很想用200 OK和特定的XML有效载荷返回我的应用程序错误(即付给我们更多,你将得到你需要的存储空间!)但是我停下来思考它并且似乎是肥皂(/耸耸肩恐怖)。

除非请求确实没有任何问题,否则我不会返回200。从RFC2616,200表示“请求已成功”。

如果超出客户端的存储配额(无论出于何种原因),我将返回403(禁止):

服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。如果服务器不希望将此信息提供给客户端,则可以使用状态代码404(未找到)。

这告诉客户端请求是正常的,但它失败了(200不能做的事情)。这也使您有机会在响应正文中解释问题(及其解决方案)。

你有什么其他特定的错误条件?


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 634 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信