@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问题解决
 
posted on 2023-07-11 02:05  le.li  阅读(14)  评论(0编辑  收藏  举报