【问题标题】:SpringBoot rest service error handlingSpring Boot 休息服务错误处理
【发布时间】:2018-12-09 14:04:20
【问题描述】:

有多种方法可以在 rest api 调用的错误响应中发送自定义消息。 这是最好的方法:

1.一种方法是使用io.swagger.annotations like @ApiResponses(value = { @ApiResponse(code = 500, message = "error message", response=ErrorDescription.class) }) 以上方法签名。

2.另一种方法是在全局异常处理程序上定义@ControllerAdvice

哪一个更好。

谢谢

【问题讨论】:

  • 您忘记了第三个:定义自定义 exception 仅作用于您的控制器。

标签: java rest spring-mvc spring-boot swagger


【解决方案1】:

使用 swagger 注释的第一种方法无法处理应用程序中的错误。它仅用于文档目的,以便您可以查看 API 在错误情况下的行为方式。使用此注释,您可以为 REST 端点自定义 swagger-ui.html 页面,并将错误代码映射到特定响应对象,并为您的客户端添加自定义描述。

真正处理自定义响应类型和消息的异常您可以使用@ControllerAdvice 并定义结果类型和消息。此外,我还会使用 Swagger 注解写一些关于错误情况的文本,并告诉客户端他可以期待哪个响应对象。

以下博客文章可能会帮助您编写 @ControllerAdvice 分类:http://niels.nu/blog/2016/controller-advice-exception-handlers.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 2020-05-26
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多