首页 > 编程语言 >AOP切面编程思想 @RestControllerAdvice 实现处理统一的异常处理

AOP切面编程思想 @RestControllerAdvice 实现处理统一的异常处理

时间:2022-09-18 18:12:27浏览次数:129  
标签:ControllerAdvice 处理 切面 AOP 注解 RestControllerAdvice 异常

笔者注:@RestControllerAdvice 比 @ControllerAdvice多一个@Responsebody注解,即restful风格,方便内部method不用反复加@Responsebody注解
另外,下面图片处无需再加@Component注解,@ControllerAdvice已包含

简单介绍
@RestControllerAdvice是在Spring框架3.2新增的的注解
可以用来定义@ExceptionHandler,@InitBinder,@ModelAttribute,并应用到@RequestMapping中

使用原因
在统一异常处理时,如果每一个controller的每一个RequestMapping都进行异常的捕捉和处理,会造成代码的冗余,不方便维护,所以基于面向切面编程的思想,给这些处理异常的代码抽取出来.

具体实现

创建一个类,在类上加上@RestControllerAdvice或者@ControllerAdvice(这两者间有区别)实现一个切面,加上@Component作为一个组件加入ioc容器.
创建捕捉和处理统一异常的方法,方法上加上@ExceptionHandler,顾名思义,异常处理器,此注解需要value值,值是你想捕捉的异常的类型的字节码,并且方法也有参数,参数是此异常类的对象
可以处理多种异常,因为异常的种类,可以选择性的捕捉和处理异常,不同的异常给出不同的处理了,在处理异常时有一点需要注意,如果Exception异常和它的子类,更加范围小的异常同时存在时,会走范围小更精确的异常,并且处理掉后不会由Exception异常处理.
代码实现
image

作者:Ycy_
链接:https://www.jianshu.com/p/696e978aa6b3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:ControllerAdvice,处理,切面,AOP,注解,RestControllerAdvice,异常
From: https://www.cnblogs.com/Linanjing/p/16705377.html

相关文章