在REST API调用的错误响应中,有多种发送自定义消息的方法。 最好的方法是:
1。一种方法是像这样使用io.swagger.annotations
@ApiResponses(value = { @ApiResponse(code = 500, message = "error message", response=ErrorDescription.class) })
以上方法签名。
2。另一种方法是在全局异常处理程序上定义@ControllerAdvice
。
哪一种是更好的两种方法?
谢谢
答案 0 :(得分:2)
第一种带有招摇注解的方法无法处理您在应用程序中的错误。它仅用于文档目的,因此您可以查看错误情况下API的行为。使用此注释,您可以为REST端点自定义swagger-ui.html
页面,并将错误代码映射到特定的响应对象,并为客户添加自定义描述。
要真正处理,例如具有自定义响应类型和消息的异常,您可以使用@ControllerAdvice
并定义结果类型和消息。另外,我还将使用Swagger批注编写有关错误情况的一些文本,并告诉客户端他可以期望的响应对象。
以下博客文章可能会帮助您编写@ControllerAdvice
类别:http://niels.nu/blog/2016/controller-advice-exception-handlers.html