类上配置@RestControllerAdvice
注解,用于全局异常处理与拦截
1.正确示例
①
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(Exception.class)
public ApiResponse handleException(Exception e) {
return ApiResponse.serverError();
}
②
@ExceptionHandler(RuntimeException.class)
public ApiResponse handleSubsidiaryCheckInconsistencyException(RuntimeException exception, HttpServletResponse response) {
response.setStatus(500);
return ApiResponse.serverError();
}
2.错误示例
@ExceptionHandler(RuntimeException.class)
public ApiResponse handleSubsidiaryCheckInconsistencyException(RuntimeException exception, HttpServletResponse response) {
response.setStatus(10010);
return ApiResponse.serverError();
}
说明:response.setStatus
设置的状态码最好是规定的HttpStatus,自定义状态码太大,如10010
,前端无法解析,并提示如下信息
Error: Parse Error: Response overflow