解决:使用@NotNull返回的信息存在很多无用信息
实体类:
/**
* 经销商编码
*/
@NotNull(message = "经销商编码不能为空")
private String agentCode;
在项目中使用了全局异常处理,抛出的异常信息为exception.getMessage(),所以会出现很多无用的信息
这里我们需要对MethodArgumentNotValidException异常做特殊处理:
//如果公司框架中,已经定义了全局异常处理,那么可能还是会被全局异常捕获,加上@Order()注解排优先级,否则@Order(1)注解可以省略
@Order(1)
@RestControllerAdvice
public class GlobalValidException {
/*
* 字段校验异常处理。
* */
@ExceptionHandler(MethodArgumentNotValidException.class)
public Map<String, Object> error(MethodArgumentNotValidException e) {
HashMap<String, Object> map = new HashMap<>();
map.put("code", 999);
map.put("message", Objects.requireNonNull(e.getBindingResult().getFieldError()).getDefaultMessage());
return map;
}
}