1、当我们处理业务中抛出的一些非致命性业务异常时,使用try catch,返回业务模型会增加非比较的开发量。这时候我们可以选择使用 增加controller ,它可以将使用@Controller注解的controller抛出的异常统一捕获。
2、个人理解:@ControllerAdvice = @Controller 增强,@RestControllerAdvice = @RestController 增强。
3、用法:创建一个增强controller 处理类,我是用的是@RestControllerAdvice
3-1、创建对应的异常处理方法。
3-2、使用@ExceptionHandle 注解处理对应的异常。这里我是自定义的异常,继承运行时异常类。
3-3、当业务中抛出该异常时标注 统一的异常 code 和 信息然后由 @ControllerAdvice 里的自定义异常处理方法统一处理。