当前位置: 首页 > 知识库问答 >
问题:

REST中返回错误的最佳格式是什么

邢星波
2023-03-14

如果发生错误,我应该以什么格式将响应返回给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"
}

共有1个答案

史钊
2023-03-14

这取决于:

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

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

看看这些(1、2和3)文章,可以帮助您确定您的情况,如果需要,还可以自定义错误响应结构

 类似资料:
  • 这是我的操作方法 返回此错误的最佳实践是什么?以一种用户友好的方式,并且在发生错误时我可以识别该错误。

  • 我担心我们返回错误给客户的方式。 我们是否在收到错误时通过抛出HttpResponseException立即返回错误: 或者累积所有错误,然后发送回客户端: 这只是一个示例代码,验证错误或服务器错误都无关紧要,我只是想知道最佳实践,每种方法的优缺点。

  • 问题内容: 这是一个小问题,因为我可以轻松地参加一对班做这项工作。我并不是真的想要这样做,我觉得应该有一些简单的,内置的,类似于Java的方法来返回两个值。你们最好的,最简单的方法是什么?数组?其他一些数据结构? 问题答案: 据我所知,不幸的是在Java中没有对的内置表示(我当然希望有)。就个人而言,当我编写一个项目时发现配对类经常很有用时,我会创建一个通用类(这可能是您在想的)。返回数组是一种快

  • @ResponseBody无法返回forma json,我在浏览器上获得了Etat HTTP 406 我正在使用:jackson-core-asl 1.9.3和ajckson-mapper-asl 1.9.3 Getjson: Spring: 我的servelet-context: 我通过这个url进入浏览器: http://othman-pc.com:8080/dsi/natureparoper

  • 现在我打算创建一个更好的错误处理的“应用程序”框架,我试图寻找最佳实践,但没有找到任何 泽西文档:https://Jersey.java.net/nonav/documentation/1.9/user-guide.html#D4E443 Internet上的几个搜索:http://www.codingpedia.org/ama/error-handing-in-rest-api-with-jer

  • 因此,我有一个Javascript脚本,它在一个循环中将小的分数相加,它有可能将0.2加到0.1。然后,这个值被输入到另一个函数,但问题是,我需要0.3来精确输入,而不是0.3000000000000004。 什么是最简单的方法,以确保数字是正确和准确的。注意,它可能得到0.25+0.125等,被添加到简单的四舍五入到小数点1不会解决问题。 也有可能添加0.2+0.1000000000000000