Spring中@validated注解使用说明
下文笔者讲述@validated注解的功能简介说明
@validated注解的功能
spring validation注解的功能:
validation用于数据校验,避免不符合要求的数据进入数据库中
spring validation注解的实现思路:
1.引入依赖
2.实体上 定义相应的注解
3.Controller方法上使用@validation注解
例:
引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
//只需要引入 spring-boot-starter-web 依赖即可
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
启动类
@SpringBootApplication
public class ValidateApp {
public static void main(String[] args) {
SpringApplication.run(ValidateApp.class, args);
}
}
创建需要被校验实体类
@Data
@ApiModel
public class xxxRequest implements Serializable {
@NotBlank(message = "用户id不能为空")
private String userId;
@NotBlank(message = "反馈分主题不能为空")
private String mainTitle;
@NotBlank(message = "反馈子主题不能为空")
private String slaveTitle;
@NotBlank(message = "问题详情不能为空")
private String questionDetail;
private String imgUrl;
@NotBlank(message = "修改者id不能为空")
private String editUserId;
}
@Controller中校验数据
@Controller
public class FooController {
@PostMapping("/save")
public RestApiResult saveXxx(@RequestBody @Validated xxxRequest req){
xxxService.refreshXxx(req);
}
}
JSR常用的校验注解
@Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @AssertFalse 被注释的元素必须为 false @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max=, min=) 被注释的元素的大小必须在指定的范围内 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内 @Past 被注释的元素必须是一个过去的日期 @Future 被注释的元素必须是一个将来的日期 @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式 Hibernate Validator 提供的校验注解 : @NotBlank(message =) 验证字符串非 null,且长度必须大于 0 @Email 被注释的元素必须是电子邮箱地址 @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内 @NotEmpty 被注释的字符串的必须非空 @Range(min=,max=,message=) 被注释的元素必须在合适的范围内
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


