首页 > 解决方案 > 在 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"
}

标签: jsonspringrestexceptionformat

解决方案


这得看情况:

如果您知道您的前端迫切需要错误的直接消息,而忽略其他任何内容,那么寻求简短而直接的答案可能是您的最佳选择。

但老实说,如果编程经验教会了我什么,那就是你对某事的了解越多越好,特别是如果它是一个错误!响应时间越长,您手中的工具就越多,它们都可以让最终用户更好地了解您的应用程序 - 您可以为用户提供一个小标题、一条详细的消息,例如,使用内部代码如果发生致命错误,则显示红色“错误”框;如果验证失败,则显示“警告”黄色框 - 尤其是让开发人员解决该问题(最终用户可能永远看不到“时间戳”,“状态”,错误的“路径”或堆栈跟踪 - 他不应该...... - 但它肯定会帮助您跟踪导致错误的原因)。

查看这些(1、2 和 3 文章以帮助您确定您的情况,并在需要时自定义您的错误响应结构


推荐阅读