@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问题解决
le.li