-
@NotEmpty :用于集合类or String,不能为null,且size>0 or length>0
-
@NotNull:不能为null,但可以为empty,没有size的约束
-
@NotBlank:只用于String,不能为null,且trim()之后size>0
-
@Validated比@Valid较为好用
-
@Validated 进行校验的时候,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,这时需要再写一个全局校验异常捕获处理类,然后返回校验提示。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
// Controller类
@RestController()
@RequestMapping("/user")
@Validated
public class UserController{}
@PatchMapping("/updateUrl")
public Result updateUrl(@RequestParam @URL @NotBlank String imgUrl) {
}
@PutMapping("/update")
public Result update(@RequestBody @Validated User user) {
}
// DTO类
@NotNull
private Integer id;//主键ID
@NotEmpty // null or "" 则校验不通过。 “ "(中间有个空格),则校验通过
@Pattern(regexp = "^\\S{1,10}$")
private String nickname;//昵称
@NotEmpty
@Email // 有值,才校验email规则。
private String email;//邮箱
@NotBlank
private String categoryName;//分类名称