捕捉@Validated校验非空注解@NotNull自定义的me
2021-10-04 本文已影响0人
拄杖忙学轻声码
在异常捕捉类中定义方法如下:
@ResponseStatus(HttpStatus.OK)
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public CommonResult<String> exceptionHandler(MethodArgumentNotValidException ex) {
log.error("异常信息:{}", ex.getMessage());
//获取Servlet容器
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
//获取request请求
HttpServletRequest request = attributes.getRequest();
CommonResult<String> commonResult = new CommonResult<>();
return commonResult
.setTimestamp(System.currentTimeMillis())
.setCode(ReturnCode.FAILED.getCode())
.setMsg(ReturnCode.FAILED.getMsg())
.setPath(request.getRequestURI())
.setData(ex.getBindingResult().getFieldError().getDefaultMessage());
}