首页 > 编程语言 > 详细

Springboot项目中使用@RestControllerAdvice注解不生效排查思路

时间:2021-04-23 00:40:06      阅读:16      评论:0      收藏:0      [点我收藏+]

说明:

在后端编写业务逻辑时,可能会遇到异常抛出处理的情况,后端通常会通过throw出一个异常,然后通过@RestControllerAdvice注解标注自定义类进行统一处理,前端再将接收到的结果解析。

异常处理类

@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
    /**
     * 基础异常
     */
    @ExceptionHandler(BaseException.class)
    public ResultVo baseException(BaseException e) {
        log.error("base exception: {}", e.getMessage());
        return ResultVo.error(e.getMessage());
    }
}

排查思路

  1. 检查异常处理类是否被Spring管理,@SpringbootApplication默认扫描本包和子包;如果为扫描到,使用@SpringbootApplication(scanBasePackages="xxx.xxx")
  2. 检查项目中的切面编程,查看是否在某个切面将异常try-catch,然后没有扔出来。常见的就是切面的环绕处理,捕获了异常忘记抛出来。

本人的问题:使用切面的环绕处理,记录日志,日志分为成功、失败、异常,所有将异常捕获处理了。
解决办法:捕获异常之后,然后再将异常抛出来就可以了。

原文链接:http://www.leftso.com/blog/430.html
特此记录下,以便后续查看

Springboot项目中使用@RestControllerAdvice注解不生效排查思路

原文:https://www.cnblogs.com/dxiaodang/p/14691056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!