【问题标题】:Webservice response - do we need to return specific error code?Web 服务响应 - 我们是否需要返回特定的错误代码?
【发布时间】:2014-09-05 12:54:45
【问题描述】:

而不是为每个应用程序错误提供错误代码。

为什么不简单地返回基本的http代码,比如

422 Unprocessable Entity
401 Unauthorized

然后您将识别正文中的特定错误

[
  {
    "error": {
      "object": "user",
      "property": "email",
      "message": "email address is required"
    }
  }
]

这样会有什么问题吗?

【问题讨论】:

  • 500 是服务器错误。这行得通吗?
  • 你只能处理那些你知道的错误......你无法处理那些你不知道的错误......例如未损坏的代码

标签: c# json rest


【解决方案1】:

根据发出请求的位置,某些状态可能会导致意外的副作用。例如,向浏览器返回 401 会提示用户输入用户名/密码。如果您希望将服务公开,或者如果您没有考虑到特定的客户,请确保状态代码专门针对您打算使用它的情况。

【讨论】:

    【解决方案2】:

    这是正确的做法。只需确保您遵循 HTTP 规范以确保您返回正确的 HTTP 状态代码,并且您遵循规范以了解响应正文中应包含的内容(例如,某些响应代码要求您在正文中有解决方案问题)

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 2020-11-17
      • 1970-01-01
      • 2018-02-13
      • 2012-05-05
      • 2014-03-14
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多