initiateRefund:是一个事务,rollbackFor = Exception.class,
其中调用了一个refund的事务方法,其中refund方法throw了一个CommonException,initiateRefund中catch了这个Exception,此时事务回滚,全局异常处理将本次事务回滚以ApiResult.error(500,e)的形式,返回给前端,导致前台接受的不是后台设置的ApiResult.error(错误提示语),只看到e.printStackTrace中的内容。
修改:
在initiateRefund中不再catch refund方法的Exception,转为让全局异常处理器来接受并返回,并在exception.message中写好要返回的异常提示语,全局异常处理会将exception.message放入ApiResult返回给前台。