我们手动对每一个数据进行代码校验,会显得笨重且重复,于是就产生了注解的方式
我们在对象中属性上添加例如:@NotBlank @Length @Max @Min @Patten等等注解时,程序会“自动”替你校验数据,但是需要在controller的请求体上添加上@Valid注解,并且使用BindingResule注解来接受返回的错误信息,一般的错误信息不止一个,通常采用的是Map来封装进行返回
public Map<String,String> getErrors(BindingResult bindingResult){
Map<String,String> errorMap = new HashMap<>();
List<FieldError> fieldErrors = bindingResult.getFieldErrors();
fieldErrors.forEach(
fieldError -> {
//获取错误的属性
String errorField = fieldError.getField();
//获取错误对应的信息
String defaultMessage = fieldError.getDefaultMessage();
errorMap.put(errorField,defaultMessage);
}
);
return errorMap;
}