最佳答案
当涉及到REST API的返回错误时,我正在寻找关于良好实践的指导。我正在开发一个新的API,所以我现在可以把它带到任何方向。目前我的内容类型是XML,但我计划将来支持JSON。
我现在添加了一些错误案例,比如客户端试图添加一个新资源,但已经超过了他的存储配额。我已经在处理HTTP状态码的某些错误情况(401用于身份验证,403用于授权,404用于普通的坏请求uri)。我查看了HTTP错误代码,但在400-417范围内似乎没有一个正确地报告应用程序特定的错误。因此,一开始我想用200 OK和一个特定的XML有效负载(即。付我们更多的钱,你就能得到你需要的存储空间!)但我停下来想了想,这似乎有点像肥皂(/惊恐地耸耸肩)。此外,感觉我把错误响应分成不同的情况,因为一些是http状态代码驱动的,另一些是内容驱动的。
那么行业建议是什么呢?好的实践(请解释为什么!),并且,从客户端角度来看,REST API中什么样的错误处理可以使客户端代码更容易?