关于参数校验

 我来答
隐曼情3
2022-06-07 · TA获得超过2940个赞
知道小有建树答主
回答量:3848
采纳率:99%
帮助的人:190万
展开全部

1.使用校验注解:
在Java中提供了一系列的校验方式,它这些校验方式在“javax.validation.constraints”包中,提供了如@Email,@NotNull等注解。

在非空处理方式上提供了@NotNull,@Blank和@NotEmpty
(1)@NotNull

The annotated element must not be null. Accepts any type.
注解元素禁止为null,能够接收任何类型

(2)@NotEmpty

the annotated element must not be null nor empty.

该注解修饰的字段不能为null或""

Supported types are:

支持以下几种类型

CharSequence (length of character sequence is evaluated)

字符序列(字符序列长度的计算)

Collection (collection size is evaluated)
集合长度的计算

Map (map size is evaluated)
map长度的计算

Array (array length is evaluated)
数组长度的计算

(3)@NotBlank

The annotated element must not be null and must contain at least one non-whitespace character. Accepts CharSequence.
该注解不能为null,并且至少包含一个非空白字符。接收字符序列。
JSR303常用注解: https://blog.csdn.net/w306026355/article/details/85094270
2:在请求方法中,使用校验注解@Valid,开启校验
3:在校验的Bean实体之后,紧跟一个BindResult,就可以获取到校验的结果。拿到校验的结果,就可以自定义的封装。

4.分组校验
一个实体极可能多个接口使用,在不同接口的业务规则中,同一个参数的校验也可能拥有不同的校验规则,此时就需要进行分组的校验.
4.1:建立分组标志
“javax.validation.constraints”包中的校验注解,都有一个属性为groups,groups的值为一个数组,我们可以在公共模块中建立空接口作为分组标志,如:AddGroup,EditGroup
使用方法示例:

4.2:在校验的接口中使用更精确的@Validated(xxx.class)注解来开启参数校验,取代原来的@Valid注解,标明分组

5.自定义校验注解以及校验器
https://www.bilibili.com/video/BV1np4y1C7Yf?p=70

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式