1、添加依赖(缺一不可)
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
2、添加控制层代码(注意@Validated注解、注意是下文中的包)
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
@RestController
@RequestMapping("/test")
@Validated
public class TestController {
@GetMapping("/null")
public String nullAndEmpty(@NotBlank(message = "不可为blank") String blank, @NotEmpty(message = "不可为empty") String empty) {
System.out.println(blank);
System.out.println(empty);
return blank + "-" + empty;
}
}
3、访问controller,传值观测
http://localhost:8080/test/null?blank&empty
报错:javax.validation.ConstraintViolationException: nullAndEmpty.empty: 不可为empty, nullAndEmpty.blank: 不可为blank
http://localhost:8080/test/null?blank= &empty=
(注:都为空格)
报错:javax.validation.ConstraintViolationException: nullAndEmpty.blank: 不可为blank
http://localhost:8080/test/null?blank=1&empty=1
无报错
由此可知:@NotBlank注解禁止字符串内容仅含空格或长度为0
@NotEmpty注解禁止字符串内容长度为0