在使用@ExceptionHandler和@Around注解时的问题

前提

项目中使用@ExceptionHandler注解来声明单个Controller中的异常处理,同时也使用@Around或@Before注解等AOP切面来打印接口的请求日志

冲突问题

切面会被触发两次

如果请求的接口出现异常,会触发@ExceptionHandler注解的方法,此时对于切面来讲,会被触发两次切面,一次为请求的接口方法,一次为@ExceptionHandler注解的方法

解决办法

  • 尽量避免同时使用
  • 可在切面里判断当前触发切面的方法是否为@ExceptionHandler注解的方法,通过判断来处理不同的逻辑
© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容