项目中使用@ExceptionHandler处理预定义的异常,将抛出的异常按照固定格式返回前端:

异常时返回的效果是:

{"code":10001,"message":"被保险人保险区间重复保单数量已达上限,不能再投保!被保险人姓名【卡卡西】证件号【0000000000000000】","data":null}
但是希望其它未知异常也能输出异常信息,因此按照网上分享的方法:https://www.mkyong.com/spring-mvc/spring-mvc-exceptionhandler-example/
增加Exception处理方法:

增加改方法后,发现两个奇怪现象:
1、自定义的HttpGlobalError异常也不再被之前的方法处理,改成了由本方法处理;
2、同样是返回ResponseEntity<HttpGlobalResponse>对象,上面的方法返回的报文是以下形式---
{"code":10001,"message":"被保险人保险区间重复保单数量已达上限,不能再投保!被保险人姓名【卡卡西】证件号【370125198908250919】","data":null}
但是下面的方法返回的报文却是这种形式---
{"code":0,"message":null,"data":{"code":10001,"message":"被保险人保险区间重复保单数量已达上限,不能再投保!被保险人姓名【卡卡西】证件号【0000000000000000】","data":null}},多了一层封装。。
这种两种现象应该怎么解释,应该如何修改????被坑死了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
网友评论