什么是Hibernate-Validator框架:
Hibernate Validator是Hibernate提供的一个开源框架,使用注解方式非常方便的实现服务端的数据校验
使用场景:
通过一些方式可以绕过前端数据校验,插入一些非法数据,因此我们需要后端进行数据校验,Hibernate-Validator框架,通过注解的方式进行数据校验
常用注解:
简单案例:
1 . 导入hibernate校验数据的jar包
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
- 我们在User对象的部分属性上添加注解:
@TableName("tb_user")
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
@Size(min = 4, max = 10, message = "用户名格式不正确")
private String username;
@Length(min = 4, max = 10, message = "密码格式不正确")
private String password;
private String phone;
private Date createTime;
private Date updateTime;
}
- 在controller了上添加控制
4 . 错误信息
5 如果需要自定义返回结果,可以这么写:
/**
* 用户注册
* BindingResult: 封装了所有字段验证失败的错误信息
*/
@PostMapping("/register")
public ResponseEntity<Void> register(@Valid User user, BindingResult result, @RequestParam("code") String code){
if(result.hasErrors()){
//取出错误信息
String errorMsg = result.getFieldErrors()
.stream()
.map(FieldError::getDefaultMessage)
.collect(Collectors.joining("|"));
//自行封装异常信息
throw new LyException(500,errorMsg);
}
userService.register(user,code);
return ResponseEntity.status(HttpStatus.CREATED).build();