Springboot项目中使用@RestControllerAdvice注解不生效排查思路
说明:
在后端编写业务逻辑时,可能会遇到异常抛出处理的情况,后端通常会通过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());
    }
}
排查思路
- 检查异常处理类是否被Spring管理,@SpringbootApplication默认扫描本包和子包;如果为扫描到,使用@SpringbootApplication(scanBasePackages="xxx.xxx")
 - 检查项目中的切面编程,查看是否在某个切面将异常try-catch,然后没有扔出来。常见的就是切面的环绕处理,捕获了异常忘记抛出来。
 
本人的问题:使用切面的环绕处理,记录日志,日志分为成功、失败、异常,所有将异常捕获处理了。
解决办法:捕获异常之后,然后再将异常抛出来就可以了。
原文链接:http://www.leftso.com/blog/430.html
特此记录下,以便后续查看
Springboot项目中使用@RestControllerAdvice注解不生效排查思路的更多相关文章
- Spring-Boot项目中配置redis注解缓存
		
Spring-Boot项目中配置redis注解缓存 在pom中添加redis缓存支持依赖 <dependency> <groupId>org.springframework.b ...
 - 解决springboot项目中@Value注解参数值为null的问题
		
1.错误场景: springboot项目中在.properties文件(.yml)文件中配置了属性值,在Bean中使用@Value注解引入该属性,Bean的构造器中使用该属性进行初始化,此时有可能会出 ...
 - springboot中的controller注解没有生效
		
springboot中的controller注解没有生效 , 启动的Application类没有在controller的父目录或同级目录
 - springboot项目中接口入参的简单校验
		
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
 - SpringBoot项目中遇到的BUG
		
1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run you ...
 - SpringBoot12 QueryDSL01之QueryDSL介绍、springBoot项目中集成QueryDSL
		
1 QueryDSL介绍 1.1 背景 QueryDSL的诞生解决了HQL查询类型安全方面的缺陷:HQL查询的扩展需要用字符串拼接的方式进行,这往往会导致代码的阅读困难:通过字符串对域类型和属性的不安 ...
 - SpringBoot项目中,表单的验证操作
		
在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...
 - 在SpringBoot项目中添加logback的MDC
		
在SpringBoot项目中添加logback的MDC 先看下MDC是什么 Mapped Diagnostic Context,用于打LOG时跟踪一个“会话“.一个”事务“.举例,有一个web ...
 - 自身使用的springboot项目中比较全的pom.xml
		
在学习的时候常建新的项目,mark下商用的jar <dependency> <groupId>org.mybatis</groupId> <artifactI ...
 
随机推荐
- 生产者和消费者问题(synchronized、Lock)
			
1.synchronized的生产者和消费者 synchronized是锁住对象 this.wait()释放了锁 并等待 this.notify()随机通知并唤醒同一个对象中的一个线程 this.no ...
 - AWS Switching to an IAM role (AWS CLI)
			
一,引言 今天额外分享一篇 AWS 的技术内容,需要在 EC2 切换到跨账号 IAM 角色(AWS CLI).假设我们使用两个 AWS 账户,A账号,B账号.我们希望允许 A 账号用于 "i ...
 - MySQL注入 利用系统读、写文件
			
目录 能读写文件的前提 Windows下的设置 Linux下的设置 没有读写权限的尝试 有SQL注入点,确认是否有读写权限 read load_file() load data infile() wr ...
 - Java实现贪吃蛇
			
游戏界面基本布局 贪吃蛇是基于JFrame的一款小游戏.它主要有两部分组成,一个是显示区域,一个是按钮区域.这两个区域都用JPanel来实现. 首先需要创建一个基于JFrame的类,例如创建一个MyF ...
 - HDOJ-1074(动态规划+状态压缩)
			
Doing Homework HDOJ-1074 1.本题主要用的是状态压缩的方法,将每种状态用二进制压缩表示 2.状态转移方程:dp[i|(1<<j)]=min(dp[i|(1<& ...
 - PAT-1066(Root of AVL Tree)Java语言实现
			
Root of AVL Tree PAT-1066 这是关于AVL即二叉平衡查找树的基本操作,包括旋转和插入 这里的数据结构主要在原来的基础上加上节点的高度信息. import java.util.* ...
 - 摄像机+LookAt矩阵+视角移动+欧拉角
			
一: 摄像机 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动. 以摄像机的视角作为场景 ...
 - PCA——主成分分析
			
PCA(Principal Components Analysis)主成分分析是一个简单的机器学习算法,利用正交变换把由线性相关变量表示的观测数据转换为由少量线性无关比变量表示的数据,实现降维的同时尽 ...
 - [通达OA]  RCE  + Getshell
			
跟着大佬轻松复现:https://github.com/jas502n/OA-tongda-RCE 通达OA下载:https://www.tongda2000.com/download/2019.ph ...
 - nessus 故障处理
			
0x00 问题描述 打开Nessues Web Client时,界面循环在Initializing Please wait while Nessus prepares files needed...和 ...