我建议使用Spring
@ControllerAdvice处理验证错误。从名为“ Spring
Boot错误处理”的部分开始,阅读本指南以获得良好的介绍。对于深入讨论,Spring.io博客中有一篇文章已于2018年4月更新。
关于其工作原理的简要概述:
- 您的控制器方法只能返回
ResponseEntity<Success>
。它不负责返回错误或异常响应。 - 您将实现一个类,用于处理所有控制器的异常。此类将用注释
@ControllerAdvice
- 该控制器建议类将包含带有注释的方法
@ExceptionHandler
- 每个异常处理程序方法都将配置为处理一个或多个异常类型。您可以在这些方法中指定错误的响应类型
- 对于您的示例,您将在控制器通知类中声明一个用于验证错误的异常处理程序方法。返回类型为
ResponseEntity<Error>
使用这种方法,您只需要在一个地方为API中的所有端点实现控制器异常处理。它还使您的API在所有端点上具有统一的异常响应结构变得容易。这简化了客户端的异常处理。



