首页 / 专利库 / 软件 / 软件 / 一种软件接口参数验证方法

一种软件接口参数验证方法

阅读:287发布:2023-03-05

专利汇可以提供一种软件接口参数验证方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及 软件 设计技术领域,特别是一种软件 接口 参数验证方法。其主要步骤:首先定义参数验证类以及相关抽象接口,验证类实现了具体的参数验证和反馈,抽象接口用于注解标识用;定义软件接口上的参数传入形式以及参数对应的参数类,在参数类对应的属性获取方法上添加参数验证注解标识,标识指明对应的参数验证方法;软件接口被调用后,参数验证拦截器获取软件接口上传递的参数信息,根据参数找到软件接口对应的参数类以及参数属性,获取属性上的参数验证注解标识,加载标识上对应的参数验证注解类进行参数验证。本发明可以降低软件业务逻辑开发的复杂;用于软件开发。,下面是一种软件接口参数验证方法专利的具体信息内容。

1.一种软件接口参数验证方法,其特征在于:所述的方法包括以下步骤:
(1)定义参数验证类以及抽象接口,验证类实现具体的参数验证和反馈,抽象接口用于注解标识用;
(2)定义软件接口上的参数传入形式以及参数对应的参数类,在参数类对应的属性获取方法上添加参数验证注解标识,指明对应的参数属性的参数验证方法;
(3)软件接口被调用后,参数验证拦截器获取软件接口上传递的参数信息,根据参数找到软件接口对应的参数类以及参数属性,获取属性上的参数验证注解标识,加载参数验证注解类进行参数验证。
2.根据权利要求1所述的软件接口参数验证方法,其特征在于:所述的参数验证类主要包含验证类的方法,含有输入参数信息,以及自定义的验证范围信息。
3.根据权利要求1所述的软件接口参数验证方法,其特征在于:所述的参数验证抽象接口定义了验证类的使用方式,是对验证类关联信息的一种高度抽象,该接口用于注解标识用,方便用户定义参数验证使用;
所述的注解标识中分成了两种形式:复杂参数验证注解和具体验证的参数标识;
所述的复杂参数验证注解包含参数实体类以及对应软件接口上的参数形式,如参数前缀形式,如add.poolInfo.poolName参数的前缀为add.poolInfo;所述具体验证的参数标识指明了参数验证具体的抽象接口,以及接口需要的输入以及验证错误后的反馈信息;
所述的参数实体类主要包含对应的属性以及属性的get\set方法,其属性支持其他参数实体类,其get方法上添加参数验证注解信息。
4.根据权利要求2所述的软件接口参数验证方法,其特征在于:所述的参数验证抽象接口定义了验证类的使用方式,是对验证类关联信息的一种高度抽象,该接口用于注解标识用,方便用户定义参数验证使用;
所述的注解标识中分成了两种形式:复杂参数验证注解和具体验证的参数标识;
所述的复杂参数验证注解包含参数实体类以及对应软件接口上的参数形式,如参数前缀形式,如add.poolInfo.poolName参数的前缀为add.poolInfo;所述具体验证的参数标识指明了参数验证具体的抽象接口,以及接口需要的输入以及验证错误后的反馈信息;
所述的参数实体类主要包含对应的属性以及属性的get\set方法,其属性支持其他参数实体类,其get方法上添加参数验证注解信息。
5.根据权利要求1至4任一项所述的软件接口参数验证方法,其特征在于:所述的软件接口的参数支持含有前缀形式,其前缀支持复杂类型参数输入,将前缀和参数类的属性注解结合起来,便于参数验证。
6.根据权利要求1至4任一项所述的软件接口参数验证方法,其特征在于:所述的参数验证拦截器会拦截接口请求信息,在接口请求到具体业务前,完成接口上的参数验证信息;
所述的拦截方法首先获取接口上的参数,将参数转换为key-value的形式,然后找到参数对应的验证参数实体类,再根据key找到对应的属性方法以及方法上对应的验证注解标识;如果验证注解标识上还包含复杂的参数类以及前缀形式,则将对应的key-value参数传递给注解标识中配置的参数类;如果验证注解标识上是参数验证抽象接口,则将value传递给参数接口对应的参数验证类,由参数验证类具体的方法完成value的校验。
7.根据权利要求5所述的软件接口参数验证方法,其特征在于:所述的参数验证拦截器会拦截接口请求信息,在接口请求到具体业务前,完成接口上的参数验证信息;
所述的拦截方法首先获取接口上的参数,将参数转换为key-value的形式,然后找到参数对应的验证参数实体类,再根据key找到对应的属性方法以及方法上对应的验证注解标识;如果验证注解标识上还包含复杂的参数类以及前缀形式,则将对应的key-value参数传递给注解标识中配置的参数类;如果验证注解标识上是参数验证抽象接口,则将value传递给参数接口对应的参数验证类,由参数验证类具体的方法完成value的校验。

说明书全文

一种软件接口参数验证方法

技术领域

[0001] 本发明涉及软件设计技术领域,特别是一种软件接口参数验证方法。

背景技术

[0002] 随着软件领域的发展,如何减少软件的复杂性,提高软件的质量是软件设计的一个重要目标。软件接口设计也是软件设计的一个内容,不仅关系到接口外部调用的方便性,而且关系到软件的安全性问题、软件复杂性问题。如果软件接口的参数验证完全放到具体的业务内部去完成校验,必然会加重软件接口内部逻辑开发的复杂性,但是如果软件接口不验证,会使得软件安全得不到保障。因此,如果将接口参数验证和具体的业务逻辑分离,必然会降低业务逻辑开发的复杂,同时提高参数验证的准确性和方便性,提高软件的安全质量。

发明内容

[0003] 本发明解决的技术问题在于提供一种软件接口参数验证方法,降低软件设计时业务逻辑开发的复杂,提高软件的安全质量。
[0004] 本发明解决上述技术问题的技术方案是:
[0005] 所述的方法包括以下步骤:
[0006] (1)定义参数验证类以及抽象接口,验证类实现具体的参数验证和反馈,抽象接口用于注解标识用;
[0007] (2)定义软件接口上的参数传入形式以及参数对应的参数类,在参数类对应的属性获取方法上添加参数验证注解标识,指明对应的参数属性的参数验证方法;
[0008] (3)软件接口被调用后,参数验证拦截器获取软件接口上传递的参数信息,根据参数找到软件接口对应的参数类以及参数属性,获取属性上的参数验证注解标识,加载参数验证注解类进行参数验证。
[0009] 所述的参数验证类主要包含验证类的方法,含有输入参数信息,以及自定义的验证范围信息。
[0010] 所述的参数验证抽象接口定义了验证类的使用方式,是对验证类关联信息的一种高度抽象,该接口用于注解标识用,方便用户定义参数验证使用;
[0011] 所述的注解标识中分成了两种形式:复杂参数验证注解和具体验证的参数标识;
[0012] 所述的复杂参数验证注解包含参数实体类以及对应软件接口上的参数形式,如参数前缀形式,如add.poolInfo.poolName参数的前缀为add.poolInfo;所述具体验证的参数标识指明了参数验证具体的抽象接口,以及接口需要的输入以及验证错误后的反馈信息;
[0013] 所述的参数实体类主要包含对应的属性以及属性的get\set方法,其属性支持其他参数实体类,其get方法上添加参数验证注解信息。
[0014] 所述的软件接口的参数支持含有前缀形式,其前缀支持复杂类型参数输入,将前缀和参数类的属性注解结合起来,便于参数验证。
[0015] 所述的参数验证拦截器会拦截接口请求信息,在接口请求到具体业务前,完成接口上的参数验证信息;
[0016] 所述的拦截方法首先获取接口上的参数,将参数转换为key-value的形式,然后找到参数对应的验证参数实体类,再根据key找到对应的属性方法以及方法上对应的验证注解标识;如果验证注解标识上还包含复杂的参数类以及前缀形式,则将对应的key-value参数传递给注解标识中配置的参数类;如果验证注解标识上是参数验证抽象接口,则将value传递给参数接口对应的参数验证类,由参数验证类具体的方法完成value的校验。
[0017] 本发明可以简单配置软件接口上的参数验证规则,就支持软件接口上的参数验证,将参数验证和接口具体业务逻辑分离,降低业务的复杂度,同时参数验证支持参数类中含有嵌套参数类,以及参数验证类以及抽象接口的重复使用。附图说明
[0018] 下面结合附图对本发明进一步说明:
[0019] 图1为本发明的流程图

具体实施方式

[0020] 流程图如图1所示,具体实施过程如下:
[0021] 1、定义参数验证抽象接口以及具体参数验证类
[0022]
[0023]
[0024]
[0025] 2、接口参数以及接口参数对应的参数实体类
[0026] (1)接口参数形式如:add.poolinfo.poolName=pool1&add.userName=demo-test接口参数对应的实体类AddPoolInfosParamPool,其中AddPoolInfosParam类中还包含复杂的参数类PoolInfoParam属性
[0027] (2)为了实现AddPoolInfosParam以及PoolInfoParam中的属性参数验证,需要添加一下注解,如下所示:
[0028]
[0029]
[0030] AddPoolInfosParam参数类中userName参数验证,在getUserName中添加了StringLengthLimit注解,支持内部参数poolInfoParams属性的验证,在getPoolInfoParams方法上添加注解,@MultParamsCheck(beanClass=
PoolInfoParam.class,paramsPrefix="add.poolinfo"),其中StringLengthLimit为具体的参数验证实现类,而MultParamsCheck主要为复杂嵌套参数标识,beanClass为对应的嵌套参数类,paramsPrefix为接口上对应的参数前缀形式。
[0031] 3、接口调用后
[0032] 在拦截器中获取接口参数信息Key-value形式,如:[“add.poolinfo.poolName”:”pool1”,”add.userName’:”demo-test”],然后验证方法checkMultParamsCheck,其实现逻辑如下:
[0033] 获取参数实体类的方法,如getPoolInfoParams方法
[0034]
[0035]
[0036] 以上所揭露的仅为本发明其中一个实施例而已,当然不能以此限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所覆盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈