Spring MVC 参数校验 总结
1. 简介
Sping MVC提供了参数校验的方便注解。
2.代码
在pom.xml中添加依赖:
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>8.0.0.Final</version>
</dependency>
在实体类中添加注解:
import jakarta.validation.constraints.NotBlank;
@Data
public class Product {
@NotBlank//非空
private String name;
@Length(min = 6)//最小长度为6
private String id;
@NotBlank//非空
private String category;
@Past//必须是过去的时间
@JsonbDateFormat("yyyy-MM-dd HH:mm:ss")
private Date inDate;
}
在业务中使用:
//必须标注@Validated代表校验,BindingResult捕捉校验错误紧挨着被校验数据
public Object register(@Validated @RequestBody Product product, BindingResult result){
if(result.hasErrors()){//捕获校验错误
Map data = new HashMap();
data.put("code",401);
data.put("msg","参数校验异常");
return data;
}
...
}
3.常用校验注解