CN117234626A - 接口参数的校验方法、装置、服务器及存储介质 - Google Patents
接口参数的校验方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN117234626A CN117234626A CN202311157782.5A CN202311157782A CN117234626A CN 117234626 A CN117234626 A CN 117234626A CN 202311157782 A CN202311157782 A CN 202311157782A CN 117234626 A CN117234626 A CN 117234626A
- Authority
- CN
- China
- Prior art keywords
- sub
- item
- flag bit
- signing
- calling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 97
- 238000012795 verification Methods 0.000 claims abstract description 83
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 abstract description 12
- 230000007246 mechanism Effects 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种接口参数的校验方法、装置、服务器及存储介质,其中,方法包括:获取工程项目的加签规则与验签规则;配置工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,第一调用标识用于调用加签规则,第二调用标识用于调用验签规则;利用第一调用标识和/或第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。由此,解决了相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
Description
技术领域
本申请涉及参数校验技术领域,特别涉及一种接口参数的校验方法、装置、服务器及存储介质。
背景技术
在车联网系统中,企业的系统架构多使用微服务,而微服务的特性在于,每个微服务可独立运行在自己的进程中,每个服务为独立的业务开发,一个微服务完成某个特定功能会创建很多子项目工程,而多个子项目工程都会存在对外提供接口以保证数据传输,而为了保证数据在网络传输过程中的安全性,需要对接口参数进行加签动作。
相关技术一般是需要每个项目分别写一套加签机制,以保证通过网络接收到的接口参数不会被破坏。然而,如果每个项目都书写一套加签机制,无法保证在同一个微服务体系中的加签机制一致,也无法保证工程项目的验签标准,且随着业务功能的代码迭代的同时,增加了项目的维护成本。
发明内容
本申请提供一种接口参数的校验方法、装置、服务器及存储介质,以解决相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
本申请第一方面实施例提供一种接口参数的校验方法,包括以下步骤:获取工程项目的加签规则与验签规则;配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,所述第一调用标识用于调用所述加签规则,所述第二调用标识用于调用所述验签规则;利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
可选地,在本申请的一个实施例中,所述利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验,包括:所述作为请求方的子项目调用所述加签规则加签期望调用的目标接口的请求参数,并发送给所述目标接口对应的作为响应方的子项目;所述作为响应方的子项目利用所述第二调用标识对加签的请求参数进行验签,验证通过之后生成响应参数,并发送所述响应参数至所述作为请求方的子项目。
可选地,在本申请的一个实施例中,所述作为响应方的子项目利用所述第二调用标识对加签的请求参数进行验签,还包括:识别所述作为响应方的子项目配置的所述第二调用标识的标志位;若所述标志位为第一标志位,所述作为响应方的子项目则调用所述验签规则对所述加签的请求参数进行验签,若所述标志位为第二标志位,则不执行验签。
可选地,在本申请的一个实施例中,所述发送所述响应参数至所述作为请求方的子项目,包括:识别所述作为响应方的子项目配置的第一调用标识的标志位;若所述标志位为第一标志位,所述作为响应方的子项目则调用所述加签规则对所述响应参数进行加签,发送加签后的响应参数至所述作为请求方的子项目;若所述标志位为第二标志位,则发送所述响应参数至所述作为请求方的子项目。
可选地,在本申请的一个实施例中,在发送所述响应参数至所述作为请求方的子项目之后,还包括:识别所述作为请求方的子项目配置的第二调用标识的标志位;若所述标志位为第一标志位,所述作为请求方的子项目则调用所述验签规则对所述加签的响应参数进行验签,并在验证通过之后调用所述目标接口,若所述标志位为第二标志位,则调用所述目标接口。
可选地,在本申请的一个实施例中,所述配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,包括:定义所述多个子项目中每个子项目中控制层的接口类;在所述接口类对应的方法体上设置所述第一调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行加签操作,所述第二标志位为不执行加签操作;在所述接口类对应的方法体上设置所述第二调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行验签操作,所述第二标志位为不执行验签操作。
可选地,在本申请的一个实施例中,在配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识之前,还包括:配置每个子项目中的配置文件和在所述工程项目中的目标位置;在所述配置文件中设置所述加签规则和验签规则对应的密钥值,基于所述目标位置生成子项目之间的依赖关系,其中,所述密钥值分别用于对所述接口参数加签和解签。
本申请第二方面实施例提供一种接口参数的校验装置,包括:获取模块,用于获取工程项目的加签规则与验签规则;第一配置模块,用于配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,所述第一调用标识用于调用所述加签规则,所述第二调用标识用于调用所述验签规则;校验模块,用于利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
可选地,在本申请的一个实施例中,所述校验模块,进一步用于所述作为请求方的子项目调用所述加签规则加签期望调用的目标接口的请求参数,并发送给所述目标接口对应的作为响应方的子项目;所述作为响应方的子项目利用所述第二调用标识对加签的请求参数进行验签,验证通过之后生成响应参数,并发送所述响应参数至所述作为请求方的子项目。
可选地,在本申请的一个实施例中,所述校验模块,进一步用于识别所述作为响应方的子项目配置的所述第二调用标识的标志位;若所述标志位为第一标志位,所述作为响应方的子项目则调用所述验签规则对所述加签的请求参数进行验签,若所述标志位为第二标志位,则不执行验签。
可选地,在本申请的一个实施例中,所述校验模块,进一步用于识别所述作为响应方的子项目配置的第一调用标识的标志位;若所述标志位为第一标志位,所述作为响应方的子项目则调用所述加签规则对所述响应参数进行加签,发送加签后的响应参数至所述作为请求方的子项目;若所述标志位为第一标志位,则发送所述响应参数至所述作为请求方的子项目。
可选地,在本申请的一个实施例中,在发送所述响应参数至所述作为请求方的子项目之后,所述校验模块进一步用于识别所述作为请求方的子项目配置的第二调用标识的标志位;若所述标志位为第一标志位,所述作为请求方的子项目则调用所述验签规则对所述加签的响应参数进行验签,并在验证通过之后调用所述目标接口,若所述标志位为第二标志位,则调用所述目标接口。
可选地,在本申请的一个实施例中,所述第一配置模块,进一步用于定义所述多个子项目中每个子项目中控制层的接口类;在所述接口类对应的方法体上设置所述第一调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行加签操作,所述第二标志位为不执行加签操作;在所述接口类对应的方法体上设置所述第二调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行验签操作,所述第二标志位为不执行验签操作。
可选地,在本申请的一个实施例中,还包括:第二配置模块,用于在配置所述工程项目的多个子项目中每个子项目作为请求方的第一调用标识和/或作为响应方时的第二调用标识之前,配置每个子项目中的配置文件和在所述工程项目中的目标位置;在所述配置文件中设置所述加签规则和验签规则对应的密钥值,基于所述目标位置生成子项目之间的依赖关系,其中,所述密钥值分别用于对所述接口参数加签和解签。
本申请第三方面实施例提供一种服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以执行如上述实施例所述的接口参数的校验方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以执行如上述实施例所述的接口参数的校验方法。
本申请实施例可以配置每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,通过设置相应的接口参数校验规则,实现对接口参数的校验,便于接口参数的维护和管理,提高了接口参数的校验效率,且业务代码整洁,可读性强,从而降低了接口参数校验代码的冗余性。由此,解决了相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种接口参数的校验方法的流程图;
图2为根据本申请实施例提供的请求方的加签规则操作流程图;
图3为根据本申请实施例提供的请求接口业务处理及验签加签时序图;
图4为根据本申请实施例提供的响应方的验签规则操作流程图;
图5为根据本申请实施例提供的响应方的加签规则操作流程图;
图6为根据本申请实施例提供的请求方的验签规则操作流程图;
图7为根据本申请实施例提供的接口参数的校验装置的示例图;
图8为根据本申请实施例提供的服务器的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的接口参数的校验方法、装置、服务器及存储介质。针对上述背景技术中心提到的问题,本申请提供了一种接口参数的校验方法,在该方法中可以配置每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,通过设置相应的接口参数校验规则,实现对接口参数的校验,便于接口参数的维护和管理,提高了接口参数的校验效率,且业务代码整洁简短,可读性强,从而降低了接口参数校验代码的冗余性。由此,解决了相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
具体而言,图1为本申请实施例所提供的一种接口参数的校验方法的流程示意图。
如图1所示,该接口参数的校验方法包括以下步骤:
在步骤S101中,获取工程项目的加签规则与验签规则。
可以理解的是,在车联网数据服务领域中,相关重要数据及业务场景的交互离不开接口的相互调用,其中数据交互的安全性是非常重要的。因此在Java项目工程中开发人员都要考虑数据的安全性,保证通过网络接收到的请求参数不被破坏,在进行接口调用时会存在请求方和响应方。
在实际执行过程中,本申请实施例请求方在请求接口之前需要对参数进行加签,请求方接收响应参数进行验签,同样的,响应方也可以对请求方的请求参数进行验签,对生成的响应参数进行加签,其加签规则与验签规则在下文进行详细阐述。
在步骤S102中,配置工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,第一调用标识用于调用加签规则,第二调用标识用于调用验签规则。
可以理解的是,本申请实施例可以配置每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,通过设置相应的接口参数校验规则,实现对接口参数的校验,便于接口参数的维护和管理,提高了接口参数的校验效率,且业务代码整洁,可读性强,从而降低了接口参数校验代码的冗余性。
在本申请的一个实施例中,配置工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识的第二调用标识:包括:定义多个子项目中每个子项目中控制层的接口类;在接口类对应的方法体上设置第一调用标识的标志位为第一标志位或第二标志位,其中,第一标志位为执行加签操作,第二标志位为不执行加签操作;在接口类对应的方法体上设置第二调用标识的标志位为第一标志位或第二标志位,其中,第一标志位为执行加验操作,第二标志位为不执行验签操作。
为了便于理解,本申请实施例可以以响应方为例,在定义的Controller层的类方法上引入注解@SignProcessSha256,此注解有两个标识可配制,分别为第二调用标识verify和第一调用标识sign。其中,verify表示验签,sign表示加签。而作为响应方而言,verify表示是否对请求参数进行验签,verify参数值可设置为第一标志位true或者第二标志位false,默认为true表示对请求参数进行验签操作,false表示不验签;在验签之后,响应方会生成响应参数并发送至请求方,即sign表示对响应参数进行加签操作,sign参数值可设置为true或者false,默认为true表示对响应参数进行加签操作,false表示不加签;
进一步地,本申请实施例的注解@SignProcessSha256的设置方式分别有:1.@SignProcessSha256表示默认对请求参数验签和响应参数加签操作;2.@SignProcessSha256(verify=false)表示对请求参数不验签对响应参数加签操作;3.@SignProcessSha256(sign=false)表示对请求参数验签对响应参数不加签操作;4.@SignProcessSha256(verify=false,sign=false)表示对请求参数不验签对响应参数不加签操作。
在本申请的一个实施例中,在配置工程项目的多个子项目中每个子项目作为请求方的第一调用标识和/或作为响应方时的第二调用标识之前,还包括:配置每个子项目中的配置文件和在工程项目中的目标位置;在配置文件中设置加签规则和验签规则对应的密钥值,基于目标位置生成子项目之间的依赖关系,其中,密钥值分别用于对接口参数加签和解签。
本申请实施例可以设置参与加签和验签的密钥值(key值),key值内容可根据需求自行定义,格式标准为英文字母加数字。此key需求设置到扩展名为.yaml的配置文件中,配置文件中key的定义为sdkconfig.supplierinfo.list数组,数组中定义对象包含属性有:businessId,encryptionKey,supplierName,其定义对象本申请实施例可以根据实际情况进行设置,不做具体限定。
进一步地,本申请实施例还可以引入当前项目组件的Maven坐标系,通过坐标对每个子项目进行唯一标识,这样才能和其它子项目中进行依赖引用。
在步骤S103中,利用第一调用标识和/或第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
其中,作为请求方的子项目调用加签规则加签期望调用的目标接口的请求参数,并发送给目标接口对应的作为响应方的子项目;作为响应方的子项目利用第二调用标识调用验签规则对加签的请求参数进行验签,验证通过之后生成响应参数,并发送响应参数至作为请求方的子项目。
本申请实施例的请求方可以在请求接口之前需要对请求参数进行加签,其加签规则如图2所示,包括以下步骤:
第一步:获取key值(此key值是在配制文件中设置的encryptionKey值);
第二步:对请求参数进行加签操作获取信息摘要;
第三步:返回信息摘要;
第四步:结束加签操作。
进一步地,在加签结束后,本申请实施例可以将加签后的请求参数发送给目标接口对应的作为响应方的子项目,作为响应方的子项目利用第二调用标识对加签的请求参数进行验签,还包括:识别作为响应方的子项目配置的第二调用标识的标志位;若标志位为第一标志位,作为响应方的子项目则调用验签规则对加签的请求参数进行验签,若标志位为第二标志位,则不执行验签。
如图3所示,本申请实施例可以识别作为响应方的子项目配置的第二调用标识的标志位,若verify参数值设置为第一标志位true,则对加签的请求参数进行验签,验签成功后调用业务逻辑,处理真实的业务逻辑,失败则返回请求方提示话术“签名验证失败”。若第二标志位false,则表示不验签,直接处理真实的业务逻辑。
进一步地,结合图4所示,以响应方对加签的请求参数进行验签为例,本申请实施例的验签规则包括以下步骤:
第一步:获取前置条件,包括请求参数、key值和签名值,其中请求参数通过请求体解析获取,key值通过创建子项目时设置静态参数中获取(key值是在配制文件中设置的encryptionKey值),签名值是请求方进行的加签操作的结果也是通过请求体中解析获取;
第二步:判断签名值是否为空,为空则跳到第六步,同时响应给请求方提示“签名验证失败”;
第三步:对请求参数进行验签操作获取信息摘要;
第四步:判断第三步获取的结果信息摘要与第一步传入的签名值比较是否一致,若一致,则执行第五步,否则不一致执行第六步;
第五步:表示验签成功继续执行业务逻辑,执行第七步;
第六步:表示验签失败同时响应给请求方提示“签名验证失败”,执行第七步;
第七步:结束验签。
在本申请的一个实施例中,发送响应参数至作为请求方的子项目,包括:识别作为响应方的子项目配置的第一调用标识的标志位;若标志位为第一标志位,作为响应方的子项目则调用加签规则对响应参数进行加签,发送加签后的响应参数至作为请求方的子项目;若标志位为第二标志位,则发送响应参数至作为请求方的子项目。
可以理解的是,在验签成功后,作为响应方的子项目会生成响应参数,如图3所示,本申请实施例可以根据配置的第一调用标识的标志位确定是否要对响应参数进行加签操作,若sign参数值设置为true,则表示对响应参数进行加签操作,本申请实施例则发送加签的响应参数至请求方,false表示不对响应参数进行加签,则直接发送响应参数至请求方,其对响应参数进行加签流程如图5所示。
在本申请的一个实施例中,在发送响应参数至作为请求方的子项目之后,还包括:识别作为请求方的子项目配置的第二调用标识的标志位;若标志位为第一标志位,作为请求方的子项目则调用验签规则对加签的响应参数进行验签,并在验证通过之后调用目标接口,若标志位为第二标志位,则调用目标接口。
同样地,作为请求方的子项目在接收到响应参数后,也可以根据验签规则对响应参数进行验证,在实际执行过程中,若作为请求方的子项目配置的第二调用标识的标志位为true,则表示对响应参数进行验签操作,并在验签成功后调用目标接口实现业务场景的交互;若标志位为false,则表示不对响应参数进行验签操作,即可以成功调用接口,其验签流程如图6所示。
根据本申请实施例提出的接口参数的校验方法,可以配置每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,通过设置相应的接口参数校验规则,实现对接口参数的校验,便于接口参数的维护和管理,提高了接口参数的校验效率,且业务代码整洁,可读性强,从而降低了接口参数校验代码的冗余性。由此,解决了相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
其次参照附图描述根据本申请实施例提出的接口参数的校验装置。
图7是本申请实施例的接口参数的校验装置的方框示意图。
如图7所示,该接口参数的校验装置10包括:获取模块100、第一配置模块200和校验模块300。
其中,获取模块100用于获取工程项目的加签规则与验签规则;第一配置模块200用于配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,第一调用标识用于调用加签规则,第二调用标识用于调用验签规则;校验模块300用于利用第一调用标识和/或第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
在本申请的一个实施例中,校验模块300进一步用于作为请求方的子项目调用加签规则加签期望调用的目标接口的请求参数,并发送给目标接口对应的作为响应方的子项目;作为响应方的子项目利用第二调用标识对加签的请求参数进行验签,验证通过之后生成响应参数,并发送响应参数至作为请求方的子项目。
在本申请的一个实施例中,校验模块300进一步用于识别作为响应方的子项目配置的第二调用标识的标志位;若标志位为第一标志位,作为响应方的子项目则调用验签规则对加签的请求参数进行验签,若标志位为第二标志位,则不执行验签。
在本申请的一个实施例中,校验模块300进一步用于识别作为响应方的子项目配置的第一调用标识的标志位;若标志位为第一标志位,作为响应方的子项目则调用加签规则对响应参数进行加签,发送加签后的响应参数至作为请求方的子项目;若标志位为第二标志位,则发送响应参数至作为请求方的子项目。
在本申请的一个实施例中,在发送响应参数至作为请求方的子项目之后,校验模块300进一步用于识别作为请求方的子项目配置的第二调用标识的标志位;若标志位为第一标志位,作为请求方的子项目则调用验签规则对加签的响应参数进行验签,并在验证通过之后调用目标接口,若标志位为第二标志位,则调用目标接口。
在本申请的一个实施例中,第一配置模块200进一步用于定义多个子项目中每个子项目中控制层的接口类;在接口类对应的方法体上设置第一调用标识的标志位为第一标志位或第二标志位,其中,第一标志位为执行加签操作,第二标志位为不执行加签操作;在接口类对应的方法体上设置第二调用标识的标志位为第一标志位或第二标志位,其中,第一标志位为执行验签操作,第二标志位为不执行验签操作。
在本申请的一个实施例中,接口参数的校验装置10还包括:第二配置模块。
其中,第二配置模块用于配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识之前,配置每个子项目中的配置文件和在工程项目中的目标位置;在配置文件中设置加签规则和验签规则对应的密钥值,基于目标位置生成子项目之间的依赖关系,其中,密钥值分别用于对接口参数加签和解签。
需要说明的是,前述对接口参数的校验方法实施例的解释说明也适用于该实施例的接口参数的校验装置,此处不再赘述。
根据本申请实施例提出的接口参数的校验装置,可以配置每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,通过设置相应的接口参数校验规则,实现对接口参数的校验,便于接口参数的维护和管理,提高了接口参数的校验效率,且业务代码整洁,可读性强,从而降低了接口参数校验代码的冗余性。由此,解决了相关技术每个项目都要独立的编写校验代码,无法保证在同一个微服务体系中的加解签机制一致,存在校验代码冗余、项目的维护成本高等问题。
图8为本申请实施例提供的服务器的结构示意图。该服务器可以包括:
存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
处理器802执行程序时实现上述实施例中提供的接口参数的校验方法。
进一步地,服务器还包括:
通信接口803,用于存储器801和处理器802之间的通信。
存储器801,用于存放可在处理器802上运行的计算机程序。
存储器801可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
处理器802可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的接口参数的校验方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
Claims (10)
1.一种接口参数的校验方法,其特征在于,包括以下步骤:
获取工程项目的加签规则与验签规则;
配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,所述第一调用标识用于调用所述加签规则,所述第二调用标识用于调用所述验签规则;
利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
2.根据权利要求1所述的接口参数的校验方法,其特征在于,所述利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验,包括:
所述作为请求方的子项目调用所述加签规则加签期望调用的目标接口的请求参数,并发送给所述目标接口对应的作为响应方的子项目;
所述作为响应方的子项目利用所述第二调用标识对加签的请求参数进行验签,验证通过之后生成响应参数,并发送所述响应参数至所述作为请求方的子项目。
3.根据权利要求2所述的接口参数的校验方法,其特征在于,所述作为响应方的子项目利用所述第二调用标识对加签的请求参数进行验签,包括:
识别所述作为响应方的子项目配置的所述第二调用标识的标志位;
若所述标志位为第一标志位,所述作为响应方的子项目则调用所述验签规则对所述加签的请求参数进行验签,若所述标志位为第二标志位,则不执行验签。
4.根据权利要求2所述的接口参数的校验方法,其特征在于,所述发送所述响应参数至所述作为请求方的子项目,包括:
识别所述作为响应方的子项目配置的第一调用标识的标志位;
若所述标志位为第一标志位,所述作为响应方的子项目则调用所述加签规则对所述响应参数进行加签,发送加签后的响应参数至所述作为请求方的子项目;若所述标志位为第二标志位,则发送所述响应参数至所述作为请求方的子项目。
5.根据权利要求2所述的接口参数的校验方法,其特征在于,在发送所述响应参数至所述作为请求方的子项目之后,还包括:
识别所述作为请求方的子项目配置的第二调用标识的标志位;
若所述标志位为第一标志位,所述作为请求方的子项目则调用所述验签规则对所述加签的响应参数进行验签,并在验证通过之后调用所述目标接口,若所述标志位为第二标志位,则调用所述目标接口。
6.根据权利要求1所述的接口参数的校验方法,其特征在于,所述配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,包括:
定义所述多个子项目中每个子项目中控制层的接口类;
在所述接口类对应的方法体上设置所述第一调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行加签操作,所述第二标志位为不执行加签操作;
在所述接口类对应的方法体上设置所述第二调用标识的标志位为第一标志位或第二标志位,其中,所述第一标志位为执行验签操作,所述第二标志位为不执行验签操作。
7.根据权利要求1所述的接口参数的校验方法,其特征在于,在配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识之前,还包括:
配置每个子项目中的配置文件和在所述工程项目中的目标位置;
在所述配置文件中设置所述加签规则和验签规则对应的密钥值,基于所述目标位置生成子项目之间的依赖关系,其中,所述密钥值分别用于对所述接口参数加签和解签。
8.一种接口参数的校验装置,其特征在于,包括:
获取模块,用于获取工程项目的加签规则与验签规则;
第一配置模块,用于配置所述工程项目的多个子项目中每个子项目作为请求方和/或作为响应方时的第一调用标识和/或第二调用标识,其中,所述第一调用标识用于调用所述加签规则,所述第二调用标识用于调用所述验签规则;
校验模块,用于利用所述第一调用标识和/或所述第二调用标识实现作为请求方的子项目和作为响应方的子项目之间的接口参数的校验。
9.一种服务器,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-7任一项所述的接口参数的校验方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-7任一项所述的接口参数的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311157782.5A CN117234626A (zh) | 2023-09-07 | 2023-09-07 | 接口参数的校验方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311157782.5A CN117234626A (zh) | 2023-09-07 | 2023-09-07 | 接口参数的校验方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234626A true CN117234626A (zh) | 2023-12-15 |
Family
ID=89081871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311157782.5A Pending CN117234626A (zh) | 2023-09-07 | 2023-09-07 | 接口参数的校验方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234626A (zh) |
-
2023
- 2023-09-07 CN CN202311157782.5A patent/CN117234626A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979508B (zh) | 微服务测试方法及装置 | |
US20190324772A1 (en) | Method and device for processing smart contracts | |
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
US9804952B1 (en) | Application debugging in a restricted container environment | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN111367821B (zh) | 一种软件测试方法及系统 | |
CN110400217B (zh) | 智能合约的规则变更处理方法及装置 | |
CN113254240B (zh) | 一种管理控制设备的方法、系统、设备及介质 | |
CN111831365A (zh) | 接口路由转发方法、系统、计算机设备及可读存储介质 | |
CN108496157B (zh) | 使用扩展接口提供运行时跟踪的系统和方法 | |
CN113312675A (zh) | 属性校验方法、装置、电子设备及存储介质 | |
CN117234626A (zh) | 接口参数的校验方法、装置、服务器及存储介质 | |
CN111324368B (zh) | 一种数据共享方法及服务器 | |
CN113779638A (zh) | 一种动态代理模式下实现接口调用方鉴权的方法及装置 | |
CN111061576B (zh) | 一种实体对象的创建方法及系统 | |
CN112149951A (zh) | 风险控制方法、装置、计算机设备和存储介质 | |
CN111240958A (zh) | 一种接口测试方法、装置、电子设备及介质 | |
CN111984427B (zh) | 一种非侵入的Web系统互斥锁实现方法 | |
KR102699488B1 (ko) | 통합형 데이터 통신 및 링크 제어 시스템, pc 처리 장치 및 이의 제어 방법 | |
CN115373638A (zh) | 前端与后端的数据处理方法、装置、设备及存储介质 | |
CN113672309A (zh) | 一种业务服务方法、装置、电子设备以及可读存储介质 | |
CN117666526A (zh) | 汽车电子控制器单元系统模型验证方法、装置、电子设备及存储介质 | |
CN118819493A (zh) | 基于Spring的扩展信息集成处理方法、装置和请求处理方法 | |
CN116932387A (zh) | 微服务应用接口的测试方法、装置及电子设备 | |
CN116822919A (zh) | 业务处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |