spring的validation封装了很多校验工具,比如邮箱,时间,null的一些校验,直接通过注解实现,无需我们再花心思去写校验工具了,很方便。这里主要简单讲下基本用法。
一、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
二、常见用法
1、实体类中的属性加入注解,比如
public class User {
//使用@NotNull表示注入该属性不能为空,否则返回给前台错误信息
@NotNull(message = "用户名不能为空")
private String username;
//表示注入的年龄必须不小于18,,否则返回前台错误信息
@Min(value = 18, message = "年龄不能小于18岁")
private long age = 10;
}
2、在controller类上加上@Validated,在方法参数前面增加@Validated
@RestController
@RequestMapping("api/mirror/User")
//2,在controller类上加上@Validated
@Validated
public class UserInfoController {
@PostMapping("save")
//3、在方法参数前面增加@Validated
public BaseResponse save(@Validated @RequestBody User user){
//todo
}
三、常见注解
@AssertFalse | 可以为null,如果不为null的话必须为false |
@AssertTrue | 可以为null,如果不为null的话必须为true |
@DecimalMax | 设置不能超过最大值 |
@DecimalMin | 设置不能超过最小值 |
@Digits | 设置必须是数字且数字整数的位数和小数的位数必须在指定范围内 |
@Future | 日期必须在当前日期的未来 |
@Past | 日期必须在当前日期的过去 |
@Max | 最大不得超过此最大值 |
@Min | 最大不得小于此最小值 |
@NotNull | 不能为null,可以是空 |
@Null | 必须为null |
@Pattern | 必须满足指定的正则表达式 |
@Size | 集合、数组、map等的size()值必须在指定范围内 |
必须是email格式 | |
@Length | 长度必须在指定范围内 |
@NotBlank | 字符串不能为null,字符串trim()后也不能等于“” |
@NotEmpty | 不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“” |
@Range | 值必须在指定范围内 |
@URL | 必须是一个URL |
hi~我是Mirror,一个为了自由安逸的未来而不断前进的的程序员。
如果你觉得文章对你有一点点帮助,一个小小赞,便是对我的认可,如果有不足之处,也欢迎各位指正。