我正在尝试使用@ControllerAdvice
处理Spring启动中的异常。我使用Exception.class
处理所有类型的异常并给出json响应。
当我在HTTPStatus status
中添加handleAllExceptionMethod()
时,我会在null pointer exception is occurs
但在JSON响应中,我期待"error" : "java.lang.NullPointerException"
我从服务类throw new NullPointerException("Null values are not allowed")
中抛出
在HTTPStatus status
中添加handleAllExceptionMethod()
之前,我得到了预期的结果。我在status
字段中获取状态值的方法中添加了。
任何人都可以告诉我为什么会这样发生吗?
@ControllerAdvice
public class RestExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<Object> handleAllExceptionMethod(Exception ex,WebRequest requset,HttpStatus status) {
ExceptionMessage exceptionMessageObj = new ExceptionMessage();
exceptionMessageObj.setStatus(status.value());
exceptionMessageObj.setMessage(ex.getLocalizedMessage());
exceptionMessageObj.setError(ex.getClass().getCanonicalName());
exceptionMessageObj.setPath(((ServletWebRequest) requset).getRequest().getServletPath());
return new ResponseEntity<>(exceptionMessageObj, new HttpHeaders(),status);
}
}
当我得到Null指针异常时这是JSON结果