项目中好用的JSR303校验
1. 为什么使用jsr303
前端请求后端接口传输参数需要校验请求参数的合法性,包括:必填项校验,数据格式校验,比如:是否是符合一定的日期格式等等。这是好用的JSR303来了,恰巧SpringBoot提供了支持。
2. 使用指南
2.1 引入JSR303依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
2.2 在接收参数的dto对象的属性上添加校验规则
例如:
@Data
public class PostAddDto {
/**
* 标题
*/
@Size(min = 5,max = 100,message = "标题在5~100字")
private String title;
/**
* 内容
*/
@NotBlank(message = "内容不为空")
private String content;
}
在添加文章中,对请求参数中的标题和内容进行要求。
常用的JSR303注解如下:
2.3 在对应的controller层的接口处开启校验
@PostMapping
public R<Long> addPost(@RequestBody @Validated PostAddDto postAddDto){
return postInfoService.addPost(postAddDto);
}
@Validated激活JSR303校验。
2.4 结果展示
标题不合法:
内容和标题不合法: