接口参数校验方法、装置、设备及存储介质与流程

文档序号:36419622发布日期:2023-12-20 06:58阅读:27来源:国知局
接口参数校验方法与流程

本公开涉及计算机,尤其涉及接口参数校验方法、装置、设备及存储介质。


背景技术:

1、在产品研发过程中,基于安全等考虑,需要对接口的调用请求中的接口参数进行校验。已有的参数校验方案中,一种方式是采用硬编码实现,但硬编码方式具有可读性差、可维护性差和重用性差等缺点。另一些参数校验方案,是对要校验的接口参数添加校验注解,此种方案中多个接口复用同一个接口参数的情况下,容易产生冲突问题。


技术实现思路

1、为克服相关技术中存在的问题,本公开提供了接口参数校验方法、装置、设备及存储介质。

2、根据本说明书实施例的第一方面,提供一种接口参数校验方法,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;接口方法包含至少一个接口参数,注解信息包含用于对接口方法包含的接口参数进行空值校验的参数表达式,参数表达式指示待校验的至少一个目标接口参数;校验方法包括:

3、拦截针对接口方法的调用请求;

4、响应于拦截到的针对接口方法的调用请求,获取接口方法携带的注解信息,并从调用请求中解析出注解信息中的参数表达式中所指示的各个目标接口参数的参数值;

5、校验解析出的各个目标接口参数的参数值是否为空值,若各个目标接口参数的参数值都不为空值,进一步针对从调用请求解析出的参数值进行非空值校验。

6、根据本说明书实施例的第二方面,提供一种接口参数校验装置,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;接口方法包含至少一个接口参数,注解信息包含用于对接口方法包含的接口参数进行空值校验的参数表达式,参数表达式指示待校验的至少一个目标接口参数;校验装置包括:

7、拦截模块,用于:拦截针对接口方法的调用请求;

8、获取模块,用于:响应于拦截到的针对接口方法的调用请求,获取接口方法携带的注解信息,并从调用请求中解析出注解信息中的参数表达式中所指示的目标接口参数的参数值;

9、校验模块,用于:校验解析出的目标接口参数的参数值是否为空值,若各个目标接口参数的参数值都不为空值,进一步针对从调用请求解析出的参数值进行非空值校验。

10、根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现前述第一方面方法实施例的步骤。

11、根据本说明书实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述第一方面方法实施例的步骤。

12、本说明书的实施例提供的技术方案可以包括以下有益效果:

13、本说明书实施例中,将不再采用对接口方法中包含的参数单独进行注解的方式,而是采用对接口方法整体进行注解的方式;

14、一方面,通过为接口方法添加包含用于对接口方法进行空值校验的参数表达式,可以在对接口方法包含的参数进行校验时,先从接口方法包含的注解信息中解析出上述参数表达式,再利用该参数表达式对该接口方法包含的参数进行空值校验,在通过空值校验后,再结合额外的规则对该接口方法包含的参数进行非空值校验,从而可以将空值校验和非空值校验两种校验流程独立开来,先进行空值校验再进行非空值校验,有助于提升对接口方法包含的参数进行校验的校验效率。

15、另一方面,相关方案中采用对接口方法中包含的参数单独进行注解的方式,若不同接口方法需要复用相同参数,有些接口方法需要对该参数进行空值校验,但有些接口可能不需要对参数进行空值校验,如此可能存在不同接口方法对相同参数的空值校验需求具有冲突的问题,从而导致该参数无法被不同接口方法复用。因此,通过为接口方法添加包含用于对接口方法进行空值校验的参数表达式,被复用的接口参数,在一个接口方法下需要被空值校验,则将参数添加在该接口方法的空值校验的参数表达式中即可;在其他接口方法下不需要被空值校验,则无需添加在空值校验的参数表达式中。因此这种注解方式还可以提升被校验参数被不同接口方法复用的复用率。

16、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。



技术特征:

1.一种接口参数校验方法,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;所述接口方法包含至少一个接口参数,所述注解信息包含用于对所述接口方法包含的接口参数进行空值校验的参数表达式,所述参数表达式指示待校验的至少一个目标接口参数;所述校验方法包括:

2.根据权利要求1所述的方法,所述参数表达式指示待校验的至少一个目标接口参数的参数名称;

3.根据权利要求1所述的方法,所述程序为基于面向对象编程语言的程序;所述接口方法的接口参数的类型为实体类,所述实体类包括一个或多个属性;

4.根据权利要求3所述的方法,所述实体类的属性中包括:一层或多层嵌套子属性;

5.根据权利要求3所述的方法,所述实体类的属性中包括:可存储多个元素的属性;

6.根据权利要求1所述的方法,所述方法还包括:

7.根据权利要求1所述的方法,所述方法还包括:

8.一种接口参数校验装置,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;所述接口方法包含至少一个接口参数,所述注解信息包含用于对所述接口方法包含的接口参数进行空值校验的参数表达式,所述参数表达式指示待校验的至少一个目标接口参数;所述校验装置包括:

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法的步骤。


技术总结
本公开提供一种接口参数校验方法、装置、设备及存储介质,在程序源码中为待校验的接口定义的接口方法携带了预设的注解信息;接口方法包含接口参数,注解信息包含用于对接口方法包含的接口参数进行空值校验的参数表达式,参数表达式指示指定的待校验的目标接口参数;校验方法包括:拦截针对接口方法的调用请求;响应于拦截到的针对接口方法的调用请求,获取接口方法携带的注解信息,并从调用请求中解析出注解信息中的参数表达式中所指示的目标接口参数的参数值;校验解析出的目标接口参数的参数值是否为空值,若各个目标接口参数的参数值都不为空值,进一步针对从调用请求解析出的参数值进行非空值校验。

技术研发人员:苏杰,王锴
受保护的技术使用者:蚂蚁区块链科技(上海)有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1