所需依赖
点击查看代码
<!-- 校验注解实现-->
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.0.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator-annotation-processor -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>8.0.0.Final</version>
</dependency>
实体类
点击查看代码
//参数校验 为每个属性附上 相关 校验注解
@Data
public class User1 {
@NotBlank //字符串不能为空
private String name;
@Length(min = 6, max = 20) //长度在 6-20之间
private String password;
@Email //必须为email 格式
private String email;
@Past //必须是过去时间
private Date birthday;
@Min(value = 1) //目标值大于1
private int age;
}
体验
@RestController
@RequestMapping("user")
public class CheckUser {
/**
* TODO:接收用户信息 并进行参数校验
* 步骤1: 实体类属性添加校验注解
* 步骤2: handler(@validated实体类 对象) @Validated 代表应用校验注解!
* 细节: param | json 校验注解都有效果
* json参数 - @RequestBody
*
* 如果,不符合校验规则,直接向前端抛出异常!
* 接收错误绑定信息!自定义返回结果! 约定: 参数错误 -》 {code:400} -》前端
* 捕捉错误绑定错误信息:
* 1. handler(校验对象,BindingResult result) 要求: bindingResult必须紧挨着 校验对象
* 2. bindingresult获取绑定错误
*
* @param user 接收到的用户数据
* @param result 获取参数异常信息
* @return
*/
@PostMapping("check")
public Object check(@RequestBody @Validated User1 user , BindingResult result){
if (result.hasErrors()){
//存在 参数错误问题 返回自定义信息
Map map = new HashMap();
map.put("code",400);
map.put("msg","参数有误");
return map;
}
return user;
}
@RequestMapping("list")
public Object list(@RequestParam List h){
System.out.println("list = " + h);
return h;
}
}
标签:return,校验,private,问题,参数,result,public
From: https://www.cnblogs.com/weifengfuxiufa/p/17715306.html