掌桥专利:专业的专利平台
掌桥专利
首页

一种基于描述信息的接口动态调用方法

文献发布时间:2024-04-18 19:57:31


一种基于描述信息的接口动态调用方法

技术领域

本发明涉及一种基于描述信息的接口动态调用方法,属于计算机交互技术领域。

背景技术

计算机接口调用指的是不同软件组件、系统或者服务之间通过接口进行通信和交互的过程。接口调用通过接口抽象,不同的模块可以独立开发、测试和部署,促进系统的模块化和解耦,从而提高软件开发的灵活性和可维护性。接口调用通过定义标准化的接口和协议,不同的系统可以进行远程调用,实现跨网络的通信和协作,这种分布式架构使得系统能够实现高可用性、弹性伸缩和负载均衡等优势,同时也提供更好的安全性和隔离性;通过接口进行集成,实现数据的共享和功能的复用,接口标准化和规范化可以提供通用的接入点,降低集成的难度和成本,同时也促进不同系统之间的互操作性;通过将任务拆分为多个独立的接口调用,实现任务的并行处理和异步执行,提高系统的响应速度和并发能力;通过将功能封装为接口,不同的团队可以并行开发不同的模块,在保持接口一致性的前提下进行工作,这种软件组织方式提高代码的可维护性和可测试性,也有利于团队的规模化和协同开发。因此,计算机接口调用在软件开发和系统集成中具有重要的意义。

目前,在计算机系统开发工作过程中,当计算机接口因为业务需要而升级迭代,常规方法为对计算机接口进行人工修改,以避免接口调用失败,然而,计算机接口调用过程涉及参数较多,通过人工的方式对接口进行修改具有较大的人力成本,导致对接口调用的效率较低。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种基于描述信息的接口动态调用方法,能够提高接口调用端的兼容性,实现在目标接口的描述信息发生变化时,动态对目标接口的参数进行调整,增加了接口调用端的效率。

为达到上述目的/为解决上述技术问题,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种基于描述信息的接口动态调用方法,应用于提供方的接口调用端,包括:

通过所述接口调用端,获取至少一个第一请求参数及对应的参数值,以及向目标服务中心发送访问请求,获取所述目标服务中心接收到访问请求后反馈的目标接口的接口自描述信息;

根据所述接口自描述信息,获取目标接口的请求参数集;

基于所述接口调用端获取的至少一个第一请求参数及对应的参数值,对所述请求参数集进行调整,获得调整后的请求参数集;

结合所述获取的至少一个第一请求参数和所述调整后的请求参数集,对目标接口进行调用。

结合第一方面,进一步地,所述目标接口的请求参数集注册到目标服务中心,所述目标服务中心用于提供webservice服务。

结合第一方面,进一步地,所述目标接口的请求参数集包括:统一资源定位符url、参数标识、参数类型、默认值以及输出参数。

结合第一方面,进一步地,所述获得调整后的请求参数集的调整过程包括:

若所述调整后的请求参数集中存在第二请求参数,且所述第二请求参数和第一请求参数相同,则将所述第一请求参数对应的参数值赋予到所述第二请求参数;

若所述调整后的请求参数集中存在第三请求参数,且所述第三请求参数和所述第一请求参数均不相同,则将预先设置的默认值赋予到所述第三请求参数中;

若所述请求参数集中存在除统一资源定位符url、参数标识、参数类型、默认值以及输出参数外的第四请求参数,且所述第四请求参数和所述第一请求参数均不相同,则将所述第一请求参数删除。

结合第一方面,进一步地,所述调整后的请求参数集与接口调用端的第一请求参数进行匹配操作,用于提高接口调用的准确性。

结合第一方面,进一步地,所述调整后的请求参数集与接口调用端的第一请求参数进行匹配操作的过程包括:

对所述第一请求参数中的所有参数进行排序,获取排序后的第一请求参数;

基于排序后的第一请求参数,对目标接口进行调用,并处理目标接口返回的响应数据。

结合第一方面,进一步地,所述处理目标接口返回的响应数据的过程包括:

获取所述接口调用端的至少一个第一响应参数,以及获取目标接口响应参数集;

若所述响应参数集中存在第二响应参数,且和所述第一响应参数相同,则将获取第二响应参数在响应参数集中所在位置,以及得到所述第二响应参数对应的参数值;

若所述响应参数集中不存在第三响应参数,且所述第三响应参数和所述第一响应参数均不相同,则将所述第一响应参数删除。

第二方面,本发明提供了一种基于描述信息的接口动态调用装置,其特征在于,包括:

第一获取模块,用于通过所述接口调用端,获取至少一个第一请求参数及对应的参数值,以及向目标服务中心发送访问请求,获取目标接口的接口自描述信息;

第二获取模块,用于根据所述接口自描述信息,获取目标接口的请求参数集;

调整模块,用于基于所述接口调用端获取的至少一个第一请求参数及对应的参数值,对所述请求参数集进行调整,获得调整后的请求参数集;

调用模块,用于结合所述获取的至少一个第一请求参数和所述调整后的请求参数集,对目标接口进行调用,用于在目标接口的参数发生改变时,动态地对所述目标接口的请求参数进行调整。

第三方面,一种电子终端,包括处理器与所述处理器连接的存储器,在所述存储器内存储有计算机程序,当所述计算机程序被所述处理器执行时,执行如第一方面任一项所述方法的步骤。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面任一项所述方法的步骤。

与现有技术相比,本发明所达到的有益效果:

本发明通过向目标服务中心发送访问请求,获得目标接口的自描述信息,如果目标接口的自描述信息由于业务的需要进行了修改或者调整,此时修改后的自描述信息与目标接口不匹配,通过对请求参数集进行调整,再结合第一请求参数和调整后的请求参数集,对目标接口进行调用,从而实现在目标接口的自描述信息发生变化时,动态的对目标接口的参数进行及时调整,提高接口调用端的兼容性以及效率。

附图说明

图1是本发明实施例提供的接口动态调用方法的流程图;

图2是本发明实施例提供的接口动态调用装置的流程图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符"/",一般表示前后关联对象是一种“或”的关系。

实施例一

图1是本发明实施例一中的接口动态调用方法的流程图。本流程图仅仅示出了本实施例所述方法的逻辑顺序,在互不冲突的前提下,在本发明其它可能的实施例中,可以以不同于图1所示的顺序完成所示出或描述的步骤。

本实施例提供的接口动态调用方法可应用于提供方的接口调用端,可以由接口动态调用方法装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在终端中,例如:任一具备通信功能的智能手机,平板电脑或计算机设备。参见图1,本实施的方法具体包括如下步骤:

步骤一、通过所述接口调用端,获取至少一个第一请求参数及对应的参数值,以及向目标服务中心发送访问请求,获取所述目标服务中心接收到访问请求后反馈的目标接口的接口自描述信息;

步骤二、根据所述接口自描述信息,获取目标接口的请求参数集;

具体地,目标接口会将请求参数集注册到目标服务中心,用于提供webservice服务,便于接口调用端通过访问目标服务中心(发送访问请求)获取接口自描述信息,为后续的接口调用做准备。例如:当启动接口程序后,目标接口将接口自描述信息注册到目标服务中心,由于服务中心有不同的模块,通过所描述的信息自动找到注册中心模块,维护接口实例信息清单,形成自描述信息。

需要说明的是,目标服务中心是一种集成化的功能模块,由注册中心模块、业务模块、存储模块等组成,每一个功能模块,相互独立,各司其职。

进一步地,目标接口的请求参数集包括:统一资源定位符url、参数标识、参数类型、默认值以及输出参数。在后续进行参数集调整时,HTTP请求通过url携带参数进行传参,或者通过函数调用的方法进行传参,从而实现对请求参数集的调整。

步骤三、基于所述接口调用端获取的至少一个第一请求参数及对应的参数值,对所述请求参数集进行调整,获得调整后的请求参数集;

根据接口调用端提供的至少一个第一请求参数及对应的参数值,对目标接口的请求参数集及时进行调整,具体的调整方式如下:

若调整后的请求参数集中存在第二请求参数,且和第一请求参数相同,则将第一请求参数对应的参数值赋予到第二请求参数,即调整后的新的参数会覆盖旧的参数,从而达到调整参数请求集的目的;

若所述调整后的请求参数集中存在第三请求参数,且和第一请求参数均不相同,则将预先设置的默认值赋予到所述第三请求参数中;

具体地,若存在第三请求参数,并设置第三请求参数的默认值,当第三请求参数与第一请求参数相同时,同上述参数覆盖的方法;当第三请求参数和第一请求参数不相同时,将请求参数集中的默认值赋予第三请求参数。

若请求参数集中不存在第四请求参数,即不是统一资源定位符url、参数标识、参数类型、默认值以及输出参数五个参数中的其中一个,且和第一请求参数均不相同,则将第一请求参数删除。

例如:设置接口调用端P

步骤四、结合所述获取的至少一个第一请求参数和所述调整后的请求参数集,对目标接口进行调用。当目标接口的参数发生改变时,能够动态地对所述目标接口的请求参数进行调整。

在本发明实施例中,如果给定一个目标接口,初始化后,确定目标接口的自描述信息,根据目标接口的自描述信息表示接口调用端的第一请求参数。如果目标接口的自描述信息由于业务的需要进行了调整或修改,接口调用端的第一请求参数也发生了改变,此时会出现目标接口与接口调用端不匹配的情况,因此将请求参数集进行调整,并基于调整后的请求参数集和接口调用端提供的第一请求参数,实现对目标接口进行调用,并且当目标接口的自描述信息发生变化时,动态地对目标接口的参数进行及时调整,避免人工调整,提高接口调用端的兼容性,从而接口调用端的效率也大大提高。

具体地,调整后的请求参数集与接口调用端的第一请求参数进行匹配操作,用于提高接口调用的准确性,具体过程如下:

对第一请求参数中的所有参数进行排序,获取排序后的第一请求参数;

基于排序后的第一请求参数,对目标接口进行调用,并处理目标接口返回的响应数据。

具体地,在确定调用的目标接口之后,将第一请求参数中的所有参数按照特定的排序规则进行排序,用于获取排序后的第一请求参数,以获取第一请求参数中的第一个参数为例,通过查找目标接口的自描述信息,确定排序后的第一个参数的名称、类型、取值范围等信息,基于排序后的第一个参数的要求,构建符合目标接口规范的请求,确保所请求参数的类型与目标接口的要求类型一致,并在取值范围内选取合适的值。

进一步地,采用HTTP请求、函数调用等方法调用目标接口,处理目标接口返回的响应结果,根据目标接口的接口自描述信息,解析和处理返回的数据,验证接口调用端的响应结果是否符合预期,检查响应结果中是否包含所需要的信息,结合所需要的信息作进一步处理和调整,具体处理和调整过程如下:

获取所述接口调用端的至少一个第一响应参数,以及获取目标接口响应参数集;

若所述响应参数集中存在第二响应参数,且和所述第一响应参数相同,则将获取第二响应参数在响应参数集中所在位置,以及得到所述第二响应参数对应的参数值;

若所述响应参数集中不存在第三响应参数,且和所述第一响应参数均不相同,则将所述第一响应参数删除。

实施例二

本发明实施例提供一种基于情报的事件预测装置,参见图2,该装置可以用于实现实施例一所述的方法,所述装置包括:

第一获取模块,用于通过所述接口调用端,获取至少一个第一请求参数及对应的参数值,以及向目标服务中心发送访问请求,获取目标接口的接口自描述信息;

第二获取模块,用于根据所述接口自描述信息,获取目标接口的请求参数集;

调整模块,用于基于所述接口调用端获取的至少一个第一请求参数及对应的参数值,对所述请求参数集进行调整,获得调整后的请求参数集;

调用模块,用于结合所述获取的至少一个第一请求参数和所述调整后的请求参数集,对目标接口进行调用,用于在目标接口的参数发生改变时,动态地对所述目标接口的请求参数进行调整。

对于本实施例未尽的其他技术特征,可以参考实施例一。

实施例三

本发明实施例还提供了一种电子终端,包括处理器及存储介质;

所述存储介质用于存储指令;

所述处理器用于根据所述指令进行操作以执行实施例一所述方法的步骤。

实施例四

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种系统接口调用方法、总线设备及银行系统
  • 一种基于YAML的HTTP接口测试行为描述方法
  • 信息系统中的接口调用方法及接口调用装置、管理信息系统
  • 基于JSON描述动态生成Restful接口的方法
技术分类

06120116459369