@ControllerAdvice @RestController public class GlobalExceptionHandler extends Object
| 构造器和说明 |
|---|
GlobalExceptionHandler() |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
baseException(cn.fscode.commons.tool.core.exception.BaseException e,
javax.servlet.http.HttpServletRequest request)
基本异常
|
Object |
bindException(Exception e,
javax.servlet.http.HttpServletRequest request)
处理实体字段校验不通过异常
ConstraintViolationException: 普通参数(非 java bean)校验出错时抛出 把校验注解写在参数上
MethodArgumentNotValidException:json请求体绑定到java bean上失败时抛出(参数验证失败)
BindException:表单提交请求参数绑定到java bean上失败时抛出 这种异常不能在参数对象上加@RequestBody (参数绑定失败)
@apiNote MethodArgumentNotValidException 继承 BindException
|
Object |
bizException(cn.fscode.commons.tool.core.exception.BizException e,
javax.servlet.http.HttpServletRequest request)
业务异常
|
Object |
constraintViolationException(javax.validation.ConstraintViolationException e,
javax.servlet.http.HttpServletRequest request) |
Object |
defaultExceptionHandler(Exception e,
javax.servlet.http.HttpServletRequest request)
声明要捕获的异常
|
Object |
exceptionHandler(javax.servlet.http.HttpServletRequest request,
Exception e)
处理空指针的异常
|
Object |
handleHttpMediaTypeNotSupportedException(Exception e,
javax.servlet.http.HttpServletRequest request)
415 - Unsupported Media Type
|
Object |
handleHttpRequestMethodNotSupportedException(org.springframework.web.HttpRequestMethodNotSupportedException e,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
405 - Method Not Allowed
|
Object |
httpMessageNotReadableException(javax.servlet.http.HttpServletRequest request,
Exception e)
参数解析失败
|
Object |
illegalArgumentException(javax.servlet.http.HttpServletRequest request,
Exception e) |
void |
init() |
Object |
methodArgumentTypeMismatchException(javax.servlet.http.HttpServletRequest req,
Exception e)
方法参数类型不匹配
|
Object |
missingServletRequestParameterException(javax.servlet.http.HttpServletRequest req,
org.springframework.web.bind.MissingServletRequestParameterException e)
当调用接口时候如果没有传入某个参数就会报出当前异常
|
Object |
noHandlerFoundException(javax.servlet.http.HttpServletRequest req,
Exception e)
请求资源不存在异常
|
@PostConstruct public void init()
@ExceptionHandler(value=org.springframework.web.servlet.NoHandlerFoundException.class) public Object noHandlerFoundException(javax.servlet.http.HttpServletRequest req, Exception e)
req - 请求e - 异常@ExceptionHandler(value=org.springframework.web.bind.MissingServletRequestParameterException.class) public Object missingServletRequestParameterException(javax.servlet.http.HttpServletRequest req, org.springframework.web.bind.MissingServletRequestParameterException e)
@ExceptionHandler(value=org.springframework.web.method.annotation.MethodArgumentTypeMismatchException.class) public Object methodArgumentTypeMismatchException(javax.servlet.http.HttpServletRequest req, Exception e)
@ExceptionHandler(value=org.springframework.http.converter.HttpMessageNotReadableException.class) public Object httpMessageNotReadableException(javax.servlet.http.HttpServletRequest request, Exception e)
@ExceptionHandler(value={org.springframework.validation.BindException.class,org.springframework.web.bind.MethodArgumentNotValidException.class})
public Object bindException(Exception e,
javax.servlet.http.HttpServletRequest request)
ConstraintViolationException: 普通参数(非 java bean)校验出错时抛出 把校验注解写在参数上
MethodArgumentNotValidException:json请求体绑定到java bean上失败时抛出(参数验证失败)
BindException:表单提交请求参数绑定到java bean上失败时抛出 这种异常不能在参数对象上加@RequestBody (参数绑定失败)
@apiNote MethodArgumentNotValidException 继承 BindException
@ExceptionHandler(value=javax.validation.ConstraintViolationException.class) public Object constraintViolationException(javax.validation.ConstraintViolationException e, javax.servlet.http.HttpServletRequest request)
@ExceptionHandler(value=org.springframework.web.HttpRequestMethodNotSupportedException.class) public Object handleHttpRequestMethodNotSupportedException(org.springframework.web.HttpRequestMethodNotSupportedException e, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
@ExceptionHandler(value=org.springframework.web.HttpMediaTypeNotSupportedException.class) public Object handleHttpMediaTypeNotSupportedException(Exception e, javax.servlet.http.HttpServletRequest request)
@ExceptionHandler(value=java.lang.NullPointerException.class) public Object exceptionHandler(javax.servlet.http.HttpServletRequest request, Exception e)
@ExceptionHandler(value=java.lang.IllegalArgumentException.class) public Object illegalArgumentException(javax.servlet.http.HttpServletRequest request, Exception e)
@ExceptionHandler(value=cn.fscode.commons.tool.core.exception.BizException.class) public Object bizException(cn.fscode.commons.tool.core.exception.BizException e, javax.servlet.http.HttpServletRequest request)
@ExceptionHandler(value=cn.fscode.commons.tool.core.exception.BaseException.class) public Object baseException(cn.fscode.commons.tool.core.exception.BaseException e, javax.servlet.http.HttpServletRequest request)
@ExceptionHandler(value=java.lang.Exception.class) public Object defaultExceptionHandler(Exception e, javax.servlet.http.HttpServletRequest request)
request - 请求体e - 异常Copyright © 2022. All rights reserved.