【技术实现步骤摘要】
接口参数校验方法、装置、设备及存储介质
[0001]本公开涉及计算机
,尤其涉及接口参数校验方法
、
装置
、
设备及存储介质
。
技术介绍
[0002]在产品研发过程中,基于安全等考虑,需要对接口的调用请求中的接口参数进行校验
。
已有的参数校验方案中,一种方式是采用硬编码实现,但硬编码方式具有可读性差
、
可维护性差和重用性差等缺点
。
另一些参数校验方案,是对要校验的接口参数添加校验注解,此种方案中多个接口复用同一个接口参数的情况下,容易产生冲突问题
。
技术实现思路
[0003]为克服相关技术中存在的问题,本公开提供了接口参数校验方法
、
装置
、
设备及存储介质
。
[0004]根据本说明书实施例的第一方面,提供一种接口参数校验方法,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;接口方法包含至少一个接口参数,注解信息包含用于对接口方法包含的接口参数进行空值校验的参数表达式,参数表达式指示待校验的至少一个目标接口参数;校验方法包括:
[0005]拦截针对接口方法的调用请求;
[0006]响应于拦截到的针对接口方法的调用请求,获取接口方法携带的注解信息,并从调用请求中解析出注解信息中的参数表达式中所指示的各个目标接口参数的参数值;
[0007]校验解析出的各个目标接口参数的参数值是否为空值,若各个目标接口参数 ...
【技术保护点】
【技术特征摘要】
1.
一种接口参数校验方法,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;所述接口方法包含至少一个接口参数,所述注解信息包含用于对所述接口方法包含的接口参数进行空值校验的参数表达式,所述参数表达式指示待校验的至少一个目标接口参数;所述校验方法包括:拦截针对所述接口方法的调用请求;响应于拦截到的针对所述接口方法的调用请求,获取所述接口方法携带的注解信息,并从所述调用请求中解析出所述注解信息中的参数表达式中所指示的各个目标接口参数的参数值;校验解析出的所述各个目标接口参数的参数值是否为空值,若所述各个目标接口参数的参数值都不为空值,进一步针对从所述调用请求解析出的参数值进行非空值校验
。2.
根据权利要求1所述的方法,所述参数表达式指示待校验的至少一个目标接口参数的参数名称;所述从所述调用请求中解析出所述注解信息中的参数表达式中所指示的各个目标接口参数的参数值,包括:根据所述参数表达式指示的待校验的至少一个目标接口参数的参数名称,从所述调用请求中解析出与所述各个目标接口参数的参数名称对应的参数值
。3.
根据权利要求1所述的方法,所述程序为基于面向对象编程语言的程序;所述接口方法的接口参数的类型为实体类,所述实体类包括一个或多个属性;所述参数表达式指示:所述实体类的一个或多个属性中待校验的各个目标属性的属性名称;所述从所述调用请求中解析出所述注解信息中的参数表达式中所指示的各个目标接口参数的参数值,包括:根据所述参数表达式指示的待校验的各个目标属性的属性名称,从所述调用请求中解析出与所述各个目标属性的属性名称对应的属性值
。4.
根据权利要求3所述的方法,所述实体类的属性中包括:一层或多层嵌套子属性;如果所述接口方法的接口参数中包含具有共同父属性的多个子属性,所述参数表达式中采用如下方式指示具有共同父属性的待校验的多个目标子属性:将所述父属性的属性名称作为前缀,在所述父属性的属性名称之后,采用成对的标识符,包围所述多个目标子属性中的各个目标子属性的属性名称;所述根据所述参数表达式指示的目标属性的属性名称,从所述调用请求中解析出与所述目标属性的属性名称对应的属性值,包括:从所述参数表达式中获取所述成对的标识符内包围的具有共同父属性的多个目标子属性中的各个目标子属性的属性名称,并在获取到的各个目标子属性的属性名称之前添加所述父属性的属性名称作为前缀,以生成与所述多个目标子属性中的各个目标子属性对应的属性访问路径;根据与所述多个目标子属性中的各个目标子属性对应的属性访问路径,从所述调用请求中解析出与...
【专利技术属性】
技术研发人员:苏杰,王锴,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。