spring aop+自定义注解+反射实现统一校验脚手架

前言

最近刚到新公司接收项目,发现这里校验参数的没有做,纯硬编码的起判参数的值,想想自己都没怎么写博客,索性今天就来写一个校验框架都脚手架处理这类问题,主要是拓展spring-context都validate和javax.validation(不能分组校验),其实用javax也可以实现我这次写的内容,但是会不通用,对于每个业务校验都需要生成一个类,可能大家看到这里可能还不太懂请大家耐心往下面看,请恕我刚写博客不久,后面我也补充下spring的实现方式

目的

不知道大家在开发后端接口到时候,有没有遇到一些字典项前端传递过来后端还要请判断是否合法,现在写这篇博客就是为了处理这一类到问题


统一校验脚手架

springboot+spring aop+反射+自定义注解annotation


支持

常用到spring-context都validate和javax.validation到校验,@notNull、@min、@max等


使用案例

首先只需要把源码下载下来,如果想改包名或者自己优化下都也可以,在之后如果不是maven的直接导入jar即可,如果是maven可以上传的maven仓库上,在引入<dependency>

源码里有使用都例子在DemoContorller

example1:校验userName参数必填 

@CheckParams(notNull = true) private String userName;

example2:校验age参数为数值 

@CheckParams(numeric = true) private String age;

example3:校验phone参数非空、最小长度为1、最大长度为11 

@CheckParams(notNull = true,minLen = 1,maxLen = 11) private String phone;

example4:校验userType参数合法性,值在UserTypeEnum枚举中

 @CheckParams(enumsValue= UserTypeEnum.class) private String userType;//主要是完成这个功能

example5:此例子是用于保存接口不用传递id参数,但是修改接口需要传id,此处用分组校验来实现, 下面的意思是:分组为UserParam的id不能为空 

@CheckParams(notNull = true,groups=UserParam.class) private String id;


javax实现方式

写到一半有活来了,后面在补充

未完待续...

github开源地址:https://github.com/609844066/project-validator/

后续看还有什么补充的也会在github上更新,随便写写的,还请路过的大神勿喷

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值