Srping Boot Validation 个人理解就是一个用来验证接收到的参数是否合理的一个验证框架。
使用之前需要先导入依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
由很多注解。这些注解一般都是用在类变量的上方,用来验证接收到的参数是否合理
常用注解有:
1.@NotNull:不能为null,但可以为empty,空串空格("", " ", " ")可以通过验证;
2.@NotEmpty:不能为null,而且长度必须大于0,空串("")不能通过验证, 空格(" "," ")可以通过验证;
3.@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0,空串空格都不能通过验证, 必须有实际字符采用通过验证; <span style="color:red">常用</span>
4.@Pattern:设定用正则表达式进行检验,regex属性用于设置正则表达式
5.message 属性用于设置错误消息
使用时,在控制器方法参数Vo值对象前面加入@Validated注解,在值对象后面加入BindingResult为对象,验证出现错误是,会自动将错误信息保存到BindingResult中。
@PostMapping("/register")
public JsonResult registerStudent(@Validated RegisterVo registerVo,
BindingResult result){
System.out.println("接收到的Vo值对象:"+registerVo.toString());
if (result.hasErrors()){
String message=result.getFieldError().getDefaultMessage();
return JsonResult.unProcessableEntity(message);
}
try {
userService.registerUser(registerVo);
return JsonResult.ok("注册成功");
}catch (ServiceException e){
return JsonResult.failed(e);
}catch (Exception e){
return JsonResult.failed(e);
}
}
暂时只会这些