Validation参数校验框架

目录

一、Validation是什么?

1.1 使用场景

二、使用步骤

2.1 实体参数的校验

2.2 分组校验

2.3 参数的自定义校验



一、Validation是什么?

Validation是Spring提供的一个参数校验框架,使用预定义的注解完成参数校验

1.1 使用场景

在前端向我们后端传递来数据的时候,我们需要进行校验

1). 可以手动使用if else校验

2). 使用参数校验框架——Spring Validation

二、使用步骤

依赖:

        <!--validation依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

实例:

2.1 实体参数的校验

例如前端传过来的参数要求如下,我们可以通过@RequestBody注解把它绑定到一个实体类上面

我们可以在实体类中通过注解的方式进行参数的校验:

部分注解:

@Null,标注的字段值必须为null

@NotNull,值必须不为nul

@NotEmpty,值不能位null,并且内容不为空

@Email,标注的字段对应值必须为email格式

@URL,标注的字段值必须是URL类型

@Patten,标注的字段值必须符合定义的正则表达式

实例:

定义好注解之后我们还需要在对应的接口的实体参数前面添加注解,才能生效

2.2 分组校验

例如在添加文章时指定某些校验的注解生效,更新文章时也指定某些校验的注解生效

步骤如下:

通过groups注解(类型为数组)指定当前的校验项是属于哪个分组的

注意

1、如果某个校验项没有指定分组,默认属于default分组

2、分组之间可以继承 如果A extends B 那么A中拥有B中所有校验项

然后在校验的时候去指定要校验的分组是哪一组

实例(在实体类中):

controller层中:

2.3 参数的自定义校验

使用场景:已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解)

例如state参数内容必须是'已发布'或者'草稿',这个时候我们需要用到自定义注解

使用:

1. 自定义注解 State(里面必须提供三个属性)

2. 自定义校验数据的类StateValidation 实现 ConstraintValidator 接口

3.在需要校验的地方使用自定义注解

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值