gpt4 book ai didi

java - 如何在 RESTful Web 服务中进行正确的错误处理?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:33 24 4
gpt4 key购买 nike

我正在使用 spring-mvc 设计一个 restful WS API。

如果假设在服务器执行代码时发生特定错误(比方说:MyCustomException),我想返回 error_codeerror_desc 向调用我的 WS 的客户端详细说明错误原因,然后以通用方式设计此 API 的最佳方法是什么?

P.S.:请注意,如果服务器没有遇到任何错误,那么这个相同的 API 应该将响应对象返回给客户端。

谢谢。

最佳答案

对于错误处理,最好使用高度成熟的标准。 JSON 响应中的 error_code 和 error_desc 并不是一个非常成熟的标准,因此我强烈建议不要将错误信息放入 JSON/XML 负载中。不遵循标准会增加出错和误解的可能性,并且通常会使您的开发过程变长。

相反,我建议使用 HTTP 状态代码,如果您必须提供有关错误的更多详细信息,请在 header 中进行。

在此处查看状态代码的解释/列表:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

例如,如果您的服务器/服务遇到未知错误,只需输入 500 状态代码(代表内部服务器错误)。如果不允许用户/客户端使用该资源,请使用 403 Forbidden。如果客户端发送格式错误的请求,则发回 401。

Spring 有一些非常好的工具可以使这个过程更容易。要处理 Controller 中的异常,请查看@ExceptionHandler 和@ControllerAdvice。

关于java - 如何在 RESTful Web 服务中进行正确的错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com