json - 在 REST 中返回错误最好采用什么格式
问题描述
如果发生错误,我应该以什么格式向 API 用户返回响应?只需将响应作为状态代码和错误消息返回:
Full authentication is required to access this resource
(返回状态 401)
或者最好以这种格式返回:
{
"timestamp": "2020-06-14T21:20:52.941+0000",
"status": 401,
"error": "Unauthorized",
"message": "Full authentication is required to access this resource",
"path": "/api/users/me"
}
解决方案
这得看情况:
如果您知道您的前端迫切需要错误的直接消息,而忽略其他任何内容,那么寻求简短而直接的答案可能是您的最佳选择。
但老实说,如果编程经验教会了我什么,那就是你对某事的了解越多越好,特别是如果它是一个错误!响应时间越长,您手中的工具就越多,它们都可以让最终用户更好地了解您的应用程序 - 您可以为用户提供一个小标题、一条详细的消息,例如,使用内部代码如果发生致命错误,则显示红色“错误”框;如果验证失败,则显示“警告”黄色框 - 尤其是让开发人员解决该问题(最终用户可能永远看不到“时间戳”,“状态”,错误的“路径”或堆栈跟踪 - 他不应该...... - 但它肯定会帮助您跟踪导致错误的原因)。
推荐阅读
- django - IntegrityError:重复键值违反唯一约束
- c++ - 为什么使用 2 个嵌套循环(O(n^2) 复杂度)解决两个和问题,在仅更改循环计数器逻辑时运行得更快?
- javascript - 在html输入字段中加载ajax值
- kendo-ui - Kendo Ui Scheduler 放大和缩小按钮
- python - 获取一列中所有值均为 nan 的行
- svg - 未定义图像上 href 的 SVG 命名空间前缀 xlink
- php - Laravel:注册“语言环境”中间件
- scala - ZIO,入门,纯功能下载器
- php - ErrorException (E_NOTICE) 未定义偏移量:3 Laravel
- android - 标签项内的 Android 片段导航