@RestControllerAdvice @Slf4j public class GlobalRestExceptionHandler { @ExceptionHandler(value = BusinessException.class) public String handleException(BusinessException e) { return JSON.toJSONString(e); } @ExceptionHandler(Exception.class) public ResponseEntity<JSONObject> handleException(Exception e) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JSONObject.parseObject(JSON.toJSONString(Response.fail(e.getMessage())))); } }
分析:跟踪代码发现
Response.fail(e.getMessage())是一个为空的对象
JSON.toJSONString(Response.fail(e.getMessage())) 却返回了{},而且没有任何报错
解决:
Response内部的属性没有添加Getter方法,导致没有获取到任何属性值,这里添加@Data问题解决
- RestControllerAdvice ExceptionHandler 全局 对象 JAVArestcontrolleradvice exceptionhandler全局 注解restcontrolleradvice exceptionhandler handlerexceptionresolver exceptionhandler全局 restcontrolleradvice注解 全局springcloud 缓存 全局 对象 身份 全局javascript对象 全局javascript对象objects 全局 界面 对象 动态 全局 对象cout restcontrolleradvice