SpringBoot Rest Service错误处理

时间:2018-06-30 18:44:47

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

在REST API调用的错误响应中,有多种发送自定义消息的方法。 最好的方法是:

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

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

哪一种是更好的两种方法?

谢谢

1 个答案:

答案 0 :(得分:2)

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

要真正处理,例如具有自定义响应类型和消息的异常,您可以使用@ControllerAdvice并定义结果类型和消息。另外,我还将使用Swagger批注编写有关错误情况的一些文本,并告诉客户端他可以期望的响应对象。

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