介绍
这篇文章运用简单易懂的例子给大家介绍Java使用JSR303如何实现自定义校验注解和校验数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强> 1,网络项目导入依赖强>
& lt; !——该依赖默认导入了hibernate验证框架所以不需要再单独导入——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency>
下图可以看到spring-boot-starter-web依赖自动引入了hibernate验证框架的;
如果感兴趣的话还可以进入hibernate验证框架的查看引入了什么相关依赖
<强> 2,默认注解的使用强>
在需要校验的字段添加不同校验类型的注解
下图是自带的所有校验注解,可以进入查看源码的注释查看如何使用
<强> 3,设置谁需要进行数据校验! ! ! 强>
在接口参数需要校验的对象前标注注解* * @Valid * *——标明前台提交数据时该对象的字段需要进行数据校验
/* * *修改 */@RequestMapping (“/update") 公共R更新(@Valid @RequestBody AttrGroupEntity attrGroup) { attrGroupService.updateById (attrGroup); 返回R.ok (); }
由于不同功能的接口接收的对象数据可能需要校验的字段不同,并不是每一个接口接收的对象的所有字段都需要校验的,所以则需要使用“分组校验“来区分不同的业务需要校验不同的字段,在这里我使用新增业务和修改业务为例。
根据上图可以看的到,默认的注解源码不仅可以设置消息(消息)还有一个可以设置集团(分组)
<强> 1,创建分组接口强>
/* * *新增业务分组校验,不需要实现任何业务,只是用来标识身份 */公共接口AddGroup { }/* * *修改业务分组校验,不需要实现任何业务,只是用来标识身份 */公共接口UpdateGroup { }<强> 2,如何使用分组校验? 强>
2.1,修改Bean每个字段上校验注解,设置组值
2.2,设置什么业务需要使用什么分组进行校验
/* * *保存——使用添加分组校验接口参数对象的字段 */@RequestMapping (“/save") 公共R保存(@Validated (value=https://www.yisu.com/zixun/{AddGroup.class}) @RequestBody BrandEntity品牌){ brandService.save(品牌); 返回R.ok (); }Java使用JSR303如何实现自定义校验注解和校验数据