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=) 被注释的元素必须在合适的范围内
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。