接口调用方法和系统、存储介质和计算机设备技术方案

技术编号:18256334 阅读:40 留言:0更新日期:2018-06-20 08:10
本发明专利技术涉及一种接口调用方法和系统、存储介质和计算机设备,通过运行注入代码,获取各个组件,再通过插件确定目标组件及其调用方法,最后在服务器上利用调用方法对目标组件的接口进行调用,无需构造参数或创建客户端等复杂操作,降低了接口调用方式的复杂度。

Interface invocation method and system, storage medium and computer equipment

The invention involves an interface call method and system, storage medium and computer equipment. Through the operation of the injection code, each component is obtained, and then the target component and its calling method are determined by the plug-in. Finally, the call method is used to call the interface of the target component on the server without constructing the parameters or creating the customer. Complex operations such as ends reduce the complexity of interface calls.

【技术实现步骤摘要】
接口调用方法和系统、存储介质和计算机设备
本专利技术涉及计算机软件
,特别是涉及一种接口调用方法和系统、存储介质和计算机设备。
技术介绍
在计算机语言中,组件Bean可以看做是可用的对象,对象就是实例化的类。一个对象中包括很多方法,每个方法可以看做一个接口。例如,在设备管理Bean中,包括新增、删除和修改设备的方法,这三个方法就是三个接口。Bean中的接口可以被调用,然而,专利技术人发现,传统的调用方式复杂度较高。例如,对于HTTP(HyperTextTransferProtocol,超文本传输协议)接口,可以使用类似POSTMAN的工具,构造出HTTP参数,再进行发送,才能调用到具体执行业务的方法,需要构造出header、body等HTTP请求参数。又例如,对于Dubbo接口,则只能通过创建客户端、启动项目来模拟调用接口。综上所述,传统的接口调用方法复杂度较高。
技术实现思路
基于此,有必要针对传统的接口调用方法复杂度较高的问题,提供一种接口调用方法和系统、存储介质和计算机设备。一种接口调用方法,包括以下步骤:在服务器上运行注入代码,获取各个组件;通过插件从所述组件中确定当前调用的目标组件,并通过所述插件确定所述目标组件的调用方法,将所述调用方法和目标组件发送至所述服务器;在服务器上利用所述调用方法对所述目标组件的接口进行调用。一种接口调用系统,包括:运行模块,用于在服务器上运行注入代码,获取各个组件;第一发送模块,用于通过插件从所述各个组件中确定当前调用的目标组件,并通过所述插件确定所述目标组件的调用方法,将所述调用方法和目标组件发送至所述服务器;调用模块,用于在服务器上利用所述调用方法对所述目标组件的接口进行调用。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的接口调用方法。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述的接口调用方法。上述接口调用方法和系统、存储介质和计算机设备,通过运行注入代码,获取各个组件,再通过插件确定目标组件及其调用方法,最后在服务器上利用调用方法对目标组件的接口进行调用,无需构造参数或创建客户端等复杂操作,降低了接口调用方式的复杂度。附图说明图1为一个实施例的接口调用方法流程图;图2为一个实施例的接口调用系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术实施例提供一种接口调用方法,可包括以下步骤:S1,在服务器上运行注入代码,获取各个组件;S2,通过插件从所述组件中确定当前调用的目标组件,并通过所述插件确定所述目标组件的调用方法,将所述调用方法和目标组件发送至所述服务器;S3,在服务器上利用所述调用方法对所述目标组件的接口进行调用。本专利技术实施例中所述的组件可以是Bean。Bean可以看做是可用的对象,可由Spring框架进行管理。对象就是实例化的类,类简单理解就是一个模板,对象就是根据这个模板创建出来的,有自己的变量。这个对象里面有很多方法,每个方法其实就是一个接口,例如,设备管理Bean,里面有新增、删除和修改设备的方法,这三个方法就是三个接口。调用接口实际上就是调用某个Bean上面的方法。在传统的调用方法中,可通过postman等工具调用接口。postman等工具可以有图像化界面去让用户输入参数,然后这些工具再去和服务器做连接调用Bean上面的方法。dubbo的接口目前没有图形化界面,所以要构造出客户端再去连接服务器去调用接口。http接口与dubbo不同在于和服务器连接方式和通讯的协议不一样,但经过框架的转换本质上也是调用了某个对象上面的方法,只是调用的方式不一样。传统的调用方式复杂度较高。也可以通过单元测试去调用这些方法,但是单元测试需要每次都去初始化容器,相当于启动一次项目。项目越来越大,初始化的东西越来越多,调用速度就会越来越慢。本专利技术通过运行注入代码,获取各个组件,再通过插件确定目标组件及其调用方法,最后在服务器上利用调用方法对目标组件的接口进行调用,无需构造参数或创建客户端等复杂操作,降低了接口调用方式的复杂度。在调用一个Bean的方法之前,首先需要获取到所有的Bean对象,才有可能进行调用。Spring提供了静态方法去获取到所有的Bean,获取到这些Bean后,只要再加上调用的方法(包括方法名),就能去调用并测试这个方法(假设这个方法是没有参数的)。在步骤S1中,可以通过在服务器上运行注入代码,获取各个组件。注入代码能拿到所有Bean,并接受到一次请求(请求带有调用的方法),从而能够调用Bean的方法。为了无侵入式地修改代码,可采用javaagent的方式,这种方式能在项目启动前执行指定jar包的代码(即注入代码),并且能对原有代码进行修改和获取到项目的资源(包括上面说到的所有Bean)。插件的一个作用就是需要自动在项目启动前加上一个启动参数。在一个实施例中,启动参数可以包括端口号,形式为:-javaagent:注入代码.jar端口号。端口号是jar包的一个参数,随机生成一个可用的端口号传给注入代码,注入代码才能进行真正调用起来。传端口号就是为了注入代码能根据这个端口号去启动一个本地的socket服务器。插件能根据这个端口号去和注入代码通讯,发送插件获取到的光标所在的类和调用方法给注入代码。注入代码接受到信息之后就可以根据这些信息去调用这些方法。因此,在步骤S1之前,可以通过插件生成启动参数;将所述启动参数发送至注入代码,使所述注入代码根据所述启动参数启动服务器。通过-javaagent可以让程序在启动前运行jar包里面的代码。这段代码可以间接拿到项目的资源(包括Bean等)。jar包里面的代码会去修改关键地方的代码,以spring框架中初始化所有的bean的方法为例,该方法执行完代表所有Bean都初始完了,而通过jar包代码会在这个方法的返回之前加入saveBean方法,传的参数就是初始化成功之后的Bean资源(因为这个初始化方法是初始化bean的,因此变量里面会有bean的信息)。而saveBean这个方法的实现也是在jar包那里的。也就是说这个jar不会在项目启动前去拿bean信息,而是在项目初始化过程中,spring初始化完Bean后自动调用了saveBean方法,然后saveBean方法再将Bean保存起来,后面就可以使用了。在步骤S2中,注入代码执行后,还需要对其进行触发,告诉注入代码要调用的组件和方法他才能去调用。这时候可以采用IntelliJIDEA的插件技术,通过插件可以获取到当前调用的目标组件,以及所述目标组件的调用方法,并,将所述调用方法和目标组件发送至所述服务器。进一步地,在步骤S2中,可以根据所述启动参数将所述调用方法和目标组件发送至所述服务器。在一个实施例中,通过插件可以获取到编辑器光标所在的类和调用方法,并根据编辑器光标所在的类确定当前调用的目标组件。IntelliJIDEA就是一个编辑器,但实际使用时并不限于这个编辑器,大部分智能编辑器,如eclipse本文档来自技高网...
接口调用方法和系统、存储介质和计算机设备

【技术保护点】
1.一种接口调用方法,其特征在于,包括以下步骤:在服务器上运行注入代码,获取各个组件;通过插件从所述组件中确定当前调用的目标组件,并通过所述插件确定所述目标组件的调用方法,将所述调用方法和目标组件发送至所述服务器;在服务器上利用所述调用方法对所述目标组件的接口进行调用。

【技术特征摘要】
1.一种接口调用方法,其特征在于,包括以下步骤:在服务器上运行注入代码,获取各个组件;通过插件从所述组件中确定当前调用的目标组件,并通过所述插件确定所述目标组件的调用方法,将所述调用方法和目标组件发送至所述服务器;在服务器上利用所述调用方法对所述目标组件的接口进行调用。2.根据权利要求1所述的接口调用方法,其特征在于,在服务器上运行注入代码之前,还包括以下步骤:通过插件生成启动参数;将所述启动参数发送至注入代码,使所述注入代码根据所述启动参数启动服务器。3.根据权利要求2所述的接口调用方法,其特征在于,将所述调用方法和目标组件发送至所述服务器的步骤包括:根据所述启动参数将所述调用方法和目标组件发送至所述服务器。4.根据权利要求1所述的接口调用方法,其特征在于,通过插件从所述组件中获取当前调用的目标组件的步骤包括:通过插件确定编辑器光标所在的类;根据编辑器光标所在的类确定当前调用的目标组件。5.根据权利要求1所述的接口调用方法,其特征在于,在服务器上利用所述调用方法对所述目标组件的接口进行调用的步骤包括:在所述服务器上...

【专利技术属性】
技术研发人员:林锡鑫
申请(专利权)人:广州视源电子科技股份有限公司广州视睿电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1