报错原因
- ①在Entity类中加入了@NotBlank注解以检验String类型的name为非空
- ②在Controller类中参数前加上@Valid以启用校验
- ③此时正常而言,应该是name为空时将出现不合法,但是在Postman中测试却仍旧是出现200OK
解决方案
- 有如下两种解决方法:
- 1、SpringBoot版本过高,从2.3.x版本开始其中不再内置校验了,因此最简单的方法便是降低版本为2.2.x版本
- 2、如果在SpringBoot2.3.x及其高版本中仍想使用,则需要导入如下依赖,二者缺一不可
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>${spring.boot.version}</version>
</dependency>