rest - 在 RESTful API 中返回 HTTP 500 好吗?

标签 rest

当我编写 RESTful API 服务器时,通常我不会在我的代码中返回 HTTP 500。 在我看来,HTTP 500 错误意味着:

您无法控制的某些情况/异常。您没有意识到可能会发生错误

如果您意识到可能会发生某些错误,您总是可以找到一些其他的 HTTP CODE 来表示它。例如 503。

所以我不想手动返回 HTTP 500。在那种情况下,如果发生 500,那么我知道这是一些未处理的异常

这是一个好的做法吗?

最佳答案

Is it good to return HTTP 500 in a RESTful API?

没关系。 500 Internal Server Error具有广泛适用的语义。

我认为关键思想是:当问题出在服务器上时,客户端(或中间组件)无法做很多事情来改善这种情况。

当然,当错误出现在请求中时,您不应该使用 500 状态代码。区分 4xx 和 5xx 比区分 500 和 50x 重要得多。

对于服务器错误,我希望您选择 500,除非其他一些代码明显更合适(例如:503 用于 Retry-After 语义可能证明有用的临时情况)。

关于rest - 在 RESTful API 中返回 HTTP 500 好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57709424/

相关文章:

rest - 使用 REST API 将消息发送到 .Net Core Core 中的 azure 服务总线队列

java - 我们可以使用 JDBC 在 Android 中连接远程 MySQL 数据库吗?

java - Paypal Sandbox 支付状态未决

node.js - 我使用 express for node.js 得到冒号和我的参数

java - 什么 Maven 依赖项将 Swagger 与 DropWizard 0.7.0 一起使用

javascript - 如何在 HTML 中调用 REST API

c# - 如何使用 Microsoft ASP.NET Web API OData 中的 Delta<T> 和 Code First\JsonMediaTypeFormatter

java - Android onPostExecute 未被识别

javascript - 是否有完全实现的 REST javascript 客户端?

java - 在 Tomcat 中运行 Spring MVC 应用程序