【问题标题】:details of success and error responses in rest apirest api 中成功和错误响应的详细信息
【发布时间】:2016-12-13 12:09:30
【问题描述】:

我正在节点 js 中编写一个 rest api 并使用 mssql 作为我的数据库。对于 api 应根据休息指南返回的成功和错误响应的详细信息,我感到两难。比如在做db操作的时候key的约束有错误,这个错误信息应该是这样的吗

{ "error": { "code": 500, "message": "Internal Server Error" } } 还是需要更具体地了解错误详细信息,例如表详细信息。通过错误泄露内部细节是否正确?状态码是否需要成为 json 对象的一部分?此外,成功消息是否应该更笼统,例如带有 200 个代码或更具体的“成功创建记录”?

【问题讨论】:

    标签: json node.js rest http error-handling


    【解决方案1】:

    始终为您的最终用户着想。如果你返回完整的错误信息,它会对他有帮助吗?也许用户做了一个错误的请求,导致内部失败。如果没有,将其清除并记录错误!

    例如,当用户得到这个响应时,他应该重复请求吗?还是服务器故障,应该等待修复?所以,我建议如下:

    {
      "error": {
      "code": 1000,
      "href": 'http://mywikiapage.com/errors/1000',
      "message": "Sorry, we're experiencing some issues. Try again later."
       }
    }
    

    请注意,错误代码已更改。它的新“自定义”代码可以引用一个 wiki 页面,其中提供了有关错误本身的更多详细信息。此外,用户始终可以从 HTTP 响应中获取 500 结果代码。

    我也想建议阅读this other SO question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多