简介
说明
本文介绍SpringBoot中参数验证的用法。
@Valid与@Validated的关系
JSR-349是一项标准,是JSR303的升级版。JSR-349添加了一些新特性,包括一些校验规范(校验注解),如@Null,@NotNull,@Pattern,它们位于javax.validation.constraints包下,只提供接口不提供实现。
hibernate validator对这个规范的实现(不要将hibernate和数据库orm框架联系在一起),它们位于org.hibernate.validator.constraints包下。
Spring为了给开发者提供便捷,对hibernate validator进行了二次封装。
@Valid与@Validated用法的区别
不同点 | @Valid | @Validated |
来源 | javax.validation的校验注解 | Spring validation 的校验注解。 |
注解位置 | 字段、构造方法、方法参数、方法。 | 类、方法参数、方法。 |
分组 | 无分组功能。 | 有分组功能。 可根据不同的分组采用不同的验证机制。 |
嵌套 | 支持。 嵌套时放在字段上面即可。 | 不支持 |
请先
!