REST最佳实践返回错误

在RESTful中返回错误的最佳做法是什么? 在HTTP状态代码4xx或响应正文? 如果首先,我怎么才能得到它int改造?


您的API或REST方法需要直观

首先,开发人员学习通过错误编写代码。 极限编程模型和最近的“测试驱动开发”模型的“测试优先”概念代表了一系列最佳实践,这些实践已经演变,因为这对于开发人员来说是一种非常重要和自然的方式。

从开发人员使用Web API的角度来看,该接口另一端的所有内容都是黑盒子。 错误因此成为提供关于如何使用API​​的上下文和可见性的关键工具。

其次,除了在开发应用程序时,开发人员在关键时刻依靠设计良好的错误进行故障排除和解决问题,而这些问题是在他们使用API​​构建的应用程序掌握在用户手中之后。

如何用REST以实用的方式思考错误?

让我们来看看三个顶级API如何接近它。

在这里输入图像描述 Facebook的

无论Facebook请求发生什么,您都可以获得200个状态代码 - 一切正常。 许多错误消息也会下推到HTTP响应中。 在这里,他们也抛出#803错误,但没有关于#​​803是什么或如何对它作出反应的信息。

Twilio

Twilio在纠正错误与HTTP状态代码方面做得非常出色。 像Facebook一样,他们提供了更细致的错误信息,但带有一个链接,可将您带到文档中。 关于文档的社区评论和讨论有助于构建一组信息并为遇到这些错误的开发人员添加上下文。

SimpleGeo

提供错误代码,但在有效负载中没有附加值。 几个最佳实践

使用HTTP状态代码使用HTTP状态代码并尝试将它们干净地映射到相关的基于标准的代码。

有超过70个HTTP状态码。 但是,大多数开发者并没有全部记住。 所以,如果你选择不常见的状态代码,你将迫使应用程序开发者远离构建他们的应用程序,并转到维基百科,以找出你想告诉他们的东西。

因此,大多数API提供者使用一个小子集。 例如,Google GData API只使用10个状态码,Netflix使用9,Digg仅使用8个。

你应该为你的API使用多少个状态码?

当你把它煮沸时,应用程序和API之间的交互真的只有3个结果:

Everything worked
The application did something wrong
The API did something wrong

首先使用以下3个代码。 如果您需要更多,请添加它们。 但是你不应该超越8。

200 - OK
404 - Not Found
500 - Internal Server Error

如果你不习惯将这3种错误条件都降低,请尝试在这些额外的5:

201 - Created
304 - Not Modified
400 - Bad Request
401 - Unauthorized
403 - Forbidden

(查看所有HTTP状态代码的维基百科条目。)

重要的是,返回的代码可以被应用程序的业务逻辑使用并执行 - 例如,在if-then-else或case语句中。

使有效负载中返回的消息尽可能详细

在这里输入图像描述 详细。

使用简单的语言描述。

添加尽可能多的提示,以便您的API团队可以考虑导致错误的原因。

我强烈建议你在描述中添加一个链接,以获取更多信息,比如Twilio

取自 - https://blog.apigee.com/detail/restful_api_design_what_about_errors

其他有用的链接http://www.restapitutorial.com/httpstatuscodes.html

REST API错误返回最佳做法

链接地址: http://www.djcxy.com/p/45327.html

上一篇: REST best practice to return error

下一篇: HTTP Error 202