CN111367685A - 接口调用的方法及装置、计算机设备、存储介质 - Google Patents
接口调用的方法及装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN111367685A CN111367685A CN202010126800.3A CN202010126800A CN111367685A CN 111367685 A CN111367685 A CN 111367685A CN 202010126800 A CN202010126800 A CN 202010126800A CN 111367685 A CN111367685 A CN 111367685A
- Authority
- CN
- China
- Prior art keywords
- interface
- code
- calling
- generating
- java archive
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种接口调用的方法及装置、计算机设备、存储介质,其中,该方法包括:接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。通过本发明,解决了相关技术中与外部***对接时存在的操作复杂,效率低等技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种接口调用的方法及装置、计算机设备、存储介质。
背景技术
RPC(全称为Remote Procedure Call Protocol,远程过程调用协议)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议;在OSI(全称为Open System Interconnection,开放式***互联)网络通信模型中,RPC跨越了传输层和应用层,RPC使得开发包括网络分布式多程序在内的应用程序更加轻易。RPC主要是基于TCP/IP协议(Transmission Control Protocol/Internet,传输控制协议/因特网互联协议),而HTTP(Hyper Text Transfer Protocol,超文本传输协议)服务主要是基于HTTP协议的。本领域的技术人员清楚,HTTP协议是应用层协议,在传输层TCP协议之上的,所以在效率方面,RPC当然更胜一筹。另外RPC主要用于公司内部的服务调用,性能消耗低,传输效率高,服务治理方便。HTTP主要用于对外的异构环境,浏览器接口调用,APP(全称为Application,应用程序)接口调用,第三方接口调用等。
相关技术中,RPC调用的应用场景是外部***调用内部***,外部***内部使用的是RPC协议,内部***内部使用的是HTTP协议,在与外部***对接时需要对外部***编写调用HTTP请求等过多的改造,由此便增加了开发成本和时间成本。因此,相关技术中存在与外部***对接因需对外部***做过多的改造而存在的耗时、耗力、耗资源等技术问题。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种接口调用的方法及装置、计算机设备、存储介质,以至少解决相关技术中与外部***对接时存在的操作复杂,效率低等技术问题。
根据本发明的一个实施例,提供了一种接口调用的方法,包括:接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
可选地,所述目标接口的类型为所述HTTP接口,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包包括:根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码,其中,所述第一代码包括所述第二代码和所述第三代码;将所述第二代码和所述第三代码进行打包,生成第一Java归档包,其中,所述第一Java归档包携带所述第一Java归档包的版本号。
可选地,在根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码之前,所述方法还包括:生成调用所述HTTP接口的通用类函数OkHttpUtil(),其中,所述通用类函数用于表示调用所述HTTP接口的入口函数。
可选地,所述目标接口的类型为所述API接口,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包包括:生成定义所述API接口的属性信息的***码,其中,所述属性信息至少包括所述API接口的接口名称;将所述***码作为所述第一代码,并对所述***码进行打包,生成第二Java归档包。
可选地,在生成所述第二Java归档包之后,所述方法还包括:本地保存所述第二Java归档包,并将所述第二Java归档包发送至所述第一***。
可选地,在本地保存所述第二Java归档包之后,所述方法还包括:基于所述属性信息生成请求调用所述API接口的第五代码,其中,所述第五代码用于向所述API接口的业务逻辑提供者请求调用所述API接口;根据所述请求和所述属性信息生成调用所述API接口的第六代码,其中,所述第六代码用于提供所述API接口的业务逻辑。
可选地,在将所述第二Java归档包发送至所述第一***之后,所述方法还包括:在确定所述第一***的注册中心注册所述API接口的业务逻辑提供者的信息且生成服务列表地址之后,通过所述API接口的业务逻辑提供者向所述第一***发送所述API接口的业务逻辑,其中,所述服务列表地址用于请求订阅所述API接口的业务逻辑。
根据本发明的一个实施例,提供了一种接口调用的装置,包括:接收模块,用于接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;第一生成模块,用于根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;第一发送模块,用于将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
可选地,所述目标接口的类型为所述HTTP接口,所述第一生成模块包括:第一生成单元,用于根据所述接口文档和所述目标接口的类型生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码,其中,所述第一代码包括第二代码和所述第三代码;第二生成单元,用于将所述第二代码和所述第三代码进行打包,生成第一Java归档包,其中,所述第一Java归档包携带所述第一Java归档包的版本号。
可选地,所述装置还包括:所述第二生成模块,用于在根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码之前,生成调用所述HTTP接口的通用类函数OkHttpUtil(),其中,所述通用类函数用于表示调用所述HTTP接口的入口函数。
可选地,所述目标接口的类型为所述API接口,所述第一生成模块包括:第三生成单元,用于生成定义所述API接口的属性信息的***码,其中,所述属性信息至少包括所述API接口的接口名称;第四生成单元,用于将所述***码作为所述第一代码,并对所述***码进行打包,生成第二Java归档包。
可选地,所述装置还包括:处理模块,用于在生成所述第二Java归档包之后,本地保存所述第二Java归档包,并将所述第二Java归档包发送至所述第一***。
可选地,在本地保存所述第二Java归档包之后,所述装置还包括:所述第三生成模块,用于基于所述属性信息生成请求调用所述API接口的第五代码,其中,所述第五代码用于向所述API接口的业务逻辑提供者请求调用所述API接口;所述第四生成模块,用于根据所述请求和所述属性信息生成调用所述API接口的第六代码,其中,所述第六代码用于提供所述API接口的业务逻辑。
可选地,所述装置还包括:第二发送模块,用于在将所述第二Java归档包发送至所述第一***之后,在确定所述第一***的注册中心注册所述API接口的业务逻辑提供者的信息且生成服务列表地址之后,通过所述API接口的业务逻辑提供者向所述第一***发送所述API接口的业务逻辑,其中,所述服务列表地址用于请求订阅所述API接口的业务逻辑。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
根据本发明的又一个实施例,还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在接收第一***的调用服务请求后,根据调用请求中携带的接口标识确定被调用的目标接口的接口文档;基于接口文档和接口类型编写用于调用目标接口的代码,并打包成jar包发送给第一***;第一***通过jar包获得调用目标接口对应的业务服务,无需第一***做过多的操作,流程简单,根据接收的jar包即可调用接口服务,解决了现有技术中与其他***对接时存在的操作复杂,效率低等技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种接口调用的方法应用于计算机终端的硬件结构框图;
图2是根据本发明实施例的一种接口调用的方法的流程图;
图3是根据本发明一具体实施例提供的一种HTTP接口的流程示意图;
图4是根据本发明另一具体实施例提供的一种API接口调用的流程示意图;
图5是根据本发明实施例的接口调用的装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、服务器、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种接口调用的方法应用于计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的接口调用的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种接口调用的方法,图2是根据本发明实施例的一种接口调用的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;
本实施例中,第一***内部使用的通信协议是HTTP通信协议。
步骤S204,根据所述接口文档和目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;
本实施例中的接口文档,即接口的规范性文档,接口文档有规范的格式和内容要求,后端按照接口协议接收前端传递的合法数据和返回符合的规范的数据,前端按照接口协议传递符合规范的数据和对后端返回的数据依据展示的需要做处理。
步骤S206,将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
通过上述步骤,在接收第一***的调用服务请求后,根据调用请求中携带的接口标识确定被调用的目标接口的接口文档;编写用于调用目标接口的代码,并打包成jar包发送给第一***;第一***通过jar包获得调用目标接口对应的业务服务,无需第一***做过多的操作,流程简单,根据接收的jar包即可调用接口服务,解决了现有技术中与其他***对接时存在的操作复杂,效率低等技术问题。
在一个可选的实施例中,所述目标接口的类型为HTTP接口,根据所述接口文档和目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包包括:根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码,其中,所述第一代码包括第二代码和所述第三代码;将所述第二代码和所述第三代码进行打包,生成第一Java归档包,其中,所述第一Java归档包携带所述第一Java归档包的版本号。
在本实施例中,根据接口标识确定目标接口的接口文档后,编写调用目标接口的本地方法(即上述第二代码)和测试案例(即上述第三代码),将本地方法和测试案例打包成jar包,其中,jar包的内容是JAVA接口和JAVA实现类;jar包携带版本号,记录每个版本添加的多个接口文档,以及每一个接口文档对应的业务逻辑,形成文档,方便以后进行维护。通过在本地事先编写好调用接口的代码,然后外部***(即上述第一***)通过调用已编写好的调用HTTP接口的代码,来代替外部***编写代码的操作,使得外部***直接开箱调用即用,还可以通过测试案例测试HTTP接口是否开通,给第一***减少了很多工作量。
根据上述实施例,在根据接口文档生成调用HTTP接口的本地方法的第二代码,以及生成测试HTTP接口是否开通的第三代码之前,还包括:生成调用HTTP接口的通用类函数OkHttpUtil(),其中,通用类函数用于表示调用HTTP接口的入口函数。
在本实施例中,内部***事先编写调用HTTP请求的接口的通用类OkHttpUtil类,其中,通用类OkHttpUtil类提供了所有方法的入口,支持函数get/post/;上传单个文件(包括进度);上传map集合文件;上传list集合文件;文件下载(包含进度);图片下载(实现了图片的压缩)等。
在一个具体实施例中,图3是根据本发明一具体实施例提供的一种HTTP接口的流程示意图,如图3所示,向外部***(即上述第一***)发送jar包依赖,让外部***添加jar包依赖;外部***调用本地方法来调用内部***中的HTTP接口。对于内部***,仅是对外部***提供一种jar包,即可实现使用RPC通信协议的外部***调用使用HTTP通信协议的内部***中的HTTP接口服务。至于***间的调用还是HTTP协议;内部***每次增加新的jar包时,添加新的jar包中携带着新的接口即可,不影响外部***调用以前的接口。
在一个可选的实施例中,目标接口的类型为API接口,根据接口文档和目标接口的类型生成用于调用目标接口的第一代码,并对第一代码进行打包,得到Java归档包包括:生成定义API接口的属性信息的***码,其中,属性信息至少包括API接口的接口名称;将***码作为第一代码,并对***码进行打包,生成第二Java归档包。
本实施例中,针对内部***的API(全称为Application Programming Interface,应用程序接口)接口(即上述目标接口),在与外部***(即上述第一***)确定目标接口的接口文档后,在内部***中定义目标接口的基本信息,比如定义接口的名称,接口标识等;将定义目标接口的基本信息的代码打包成jar包。
根据上述实施例,在生成第二Java归档包之后,还包括:本地保存第二Java归档包,并将第二Java归档包发送至第一***。在本实施例中,内部***和外部***同时添加“内部***-API”的依赖。内部***生成的jar包不仅要发送至外部***,还需本地添加,以便内部***的服务提供者清楚调用的接口。
在一个可选的实施例中,在本地保存第二Java归档包之后,还包括:基于属性信息生成请求调用API接口的第五代码,其中,第五代码用于向API接口的业务逻辑提供者请求调用API接口;根据请求和属性信息生成调用API接口的第六代码,其中,第六代码用于提供API接口的业务逻辑。
在本实施例中,编写调用“内部***-API(接口)”的请求(即上述第五代码),以及编写“内部***服务提供者(接口的具体实现)(即上述第六代码)”,其中,编写“内部***服务提供者”即编写实现内部***之间的接口调用的代码,以便内部服务提供者提供调用接口的业务逻辑。
根据上述实施例,在将第二Java归档包发送至第一***之后,还包括:在确定第一***的注册中心注册API接口的业务逻辑提供者的信息且生成服务列表地址之后,通过API接口的业务逻辑提供者向第一***发送API接口的业务逻辑,其中,服务列表地址用于请求订阅API接口的业务逻辑。
在本实施例中,内部***和外部***需要确定被调用的接口以及内部***中服务提供者的注册信息。外部***的注册中心的注册信息发生变更时,生成服务列表地址,并向“外部***服务消费者”推送服务列表地址;“外部***服务消费者”调用服务列表地址,并缓存起来;即使注册中心的服务器故障,停用,也不影响已有的服务的调用。
在一个示例中,服务列表地址为多个IP:端口的地址的集合,每个IP:端口下包含多个可以调用的接口,例如:
12.12.12.12 8888 interface1;
12.12.12.12 5432 interface1;
--------------------------------------
12.12.12.22 6748 interfaceA;
12.12.12.22 9435 interfaceB。
将“内部***服务提供者”注册到外部***的“注册中心”之后,如果确定出两个***间的接口需要升级(包括增加接口和接口更变),内部***会接收来自外部***的修改内部***-API接口的请求;内部***根据该请求修改内部***-API接口。如果不是两个***间的接口需要升级(包括增加接口和接口更变),内部***服务提供者调用内部***业务服务,是http服务之间的调用。
在另一个具体实施例中,图4是根据本发明另一具体实施例提供的一种API接口调用的流程示意图,如图4所示,内部***使用HTTP通信协议,外部***使用RPC通信协议。在内部***中编写好定义内部***-API接口的代码后,打包成jar包;并且内部***和外部***同时添加“内部***-API”的依赖,本地添加jar包用于指示内部服务提供者清楚外部要调用何种接口。内部***和外部***确定内部***中服务提供者的注册信息,通过在外部***中注册内部服务提供者信息;外部***根据注册生成服务列表地址。“外部***服务消费者”通过订阅服务地址列表调用内部***服务提供者提供的服务。
外部***判断是否是两个***间的接口升级;如果是两个***间的接口升级(增加接口、接口变更),外部***向内部***发送修改内部***-API接口的请求,也就是说,两个***间的接口升级(增加接口、接口变更),需要修改对应的内部***-API接口,并且重新依赖,再将“内部***服务提供者”重新注册到外部***的“注册中心”上即可。
如果不是两个***间的接口升级(增加接口、接口变更),只是内部***增加接口,不影响已有接口的调用。
可选地,对与内部***的功能升级,设有自动生成代码模块,通过在页面填写包名、类名、方法名,传入后台自动生成代码。
通过上述实施例,内部***向外部***发送jar包依赖,外部***根据jar包依赖调用内部***的HTTP接口或者API接口,通过减少对外部***的多处改造操作,比如,减少外部***编写HTTP调用接口文档的操作,或者编写测试案例等操作,来减少外部***的工作量,大大降低了操作难度,让用户可以通过调用本地方法就可以调用所需要的接口服务,不用再做复杂的文档设计、接口定义、对接等一系列的复杂操作,从而解决了相关技术中与外部***对接时,耗时耗力、耗资源等技术问题,从而提高了客户的满意度。
实施例2
在本实施例中还提供了一种接口调用的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的接口调用的装置的结构框图,如图5所示,接收模块501,用于接收第一***发送的调用目标接口的调用请求,其中,调用请求携带有目标接口的接口标识,接口标识用于确定目标接口的接口文档;第一生成模块503,连接至上述接收模块501,用于根据接口文档和目标接口的类型生成用于调用目标接口的第一代码,并对第一代码进行打包,得到Java归档包,其中,目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;第一发送模块505,连接至上述第一生成模块503,用于将Java归档包发送至第一***,其中,第一***用于根据Java归档包调用目标接口。
可选地,目标接口的类型为HTTP接口,第一生成模块503包括:第一生成单元,用于根据接口文档生成调用HTTP接口的本地方法的第二代码,以及生成测试HTTP接口是否开通的第三代码,其中,第一代码包括第二代码和第三代码;第二生成单元,用于将第二代码和第三代码进行打包,生成第一Java归档包,其中,第一Java归档包携带第一Java归档包的版本号。
可选地,上述装置还包括:第二生成模块,用于在根据接口文档生成调用HTTP接口的本地方法的第二代码,以及生成测试HTTP接口是否开通的第三代码之前,生成调用HTTP接口的通用类函数OkHttpUtil(),其中,通用类函数用于表示调用HTTP接口的入口函数。
可选地,目标接口的类型为API接口,第一生成模块503包括:第三生成单元,用于生成定义API接口的属性信息的***码,其中,属性信息至少包括API接口的接口名称;第四生成单元,用于将***码作为第一代码,并对***码进行打包,生成第二Java归档包。
可选地,上述装置还包括:处理模块,用于在生成第二Java归档包之后,本地保存第二Java归档包,并将第二Java归档包发送至第一***。
可选地,在本地保存第二Java归档包之后,上述装置还包括:第三生成模块,用于基于属性信息生成请求调用API接口的第五代码,其中,第五代码用于向API接口的业务逻辑提供者请求调用API接口;第四生成模块,用于根据请求和属性信息生成调用API接口的第六代码,其中,第六代码用于提供API接口的业务逻辑。
可选地,上述装置还包括:第二发送模块,用于在将第二Java归档包发送至第一***之后,在确定第一***的注册中心注册API接口的业务逻辑提供者的信息且生成服务列表地址之后,通过API接口的业务逻辑提供者向第一***发送API接口的业务逻辑,其中,服务列表地址用于请求订阅API接口的业务逻辑。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;
S2,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;
S3,将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;
S2,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;
S3,将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种接口调用的方法,其特征在于,包括:
接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;
根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;
将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
2.根据权利要求1所述的方法,其特征在于,所述目标接口的类型为所述HTTP接口,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包包括:
根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码,其中,所述第一代码包括所述第二代码和所述第三代码;
将所述第二代码和所述第三代码进行打包,生成第一Java归档包,其中,所述第一Java归档包携带所述第一Java归档包的版本号。
3.根据权利要求2所述的方法,其特征在于,在根据所述接口文档生成调用所述HTTP接口的本地方法的第二代码,以及生成测试所述HTTP接口是否开通的第三代码之前,所述方法还包括:
生成调用所述HTTP接口的通用类函数OkHttpUtil(),其中,所述通用类函数用于表示调用所述HTTP接口的入口函数。
4.根据权利要求1所述的方法,其特征在于,所述目标接口的类型为所述API接口,根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包包括:
生成定义所述API接口的属性信息的***码,其中,所述属性信息至少包括所述API接口的接口名称;
将所述***码作为所述第一代码,并对所述***码进行打包,生成第二Java归档包。
5.根据权利要求4所述的方法,其特征在于,在生成所述第二Java归档包之后,所述方法还包括:
本地保存所述第二Java归档包,并将所述第二Java归档包发送至所述第一***。
6.根据权利要求5所述的方法,其特征在于,在本地保存所述第二Java归档包之后,所述方法还包括:
基于所述属性信息生成请求调用所述API接口的第五代码,其中,所述第五代码用于向所述API接口的业务逻辑提供者请求调用所述API接口;
根据所述请求和所述属性信息生成调用所述API接口的第六代码,其中,所述第六代码用于提供所述API接口的业务逻辑。
7.根据权利要求5所述的方法,其特征在于,在将所述第二Java归档包发送至所述第一***之后,所述方法还包括:
在确定所述第一***的注册中心注册所述API接口的业务逻辑提供者的信息且生成服务列表地址之后,通过所述API接口的业务逻辑提供者向所述第一***发送所述API接口的业务逻辑,其中,所述服务列表地址用于请求订阅所述API接口的业务逻辑。
8.一种接口调用的装置,其特征在于,包括:
接收模块,用于接收第一***发送的调用目标接口的调用请求,其中,所述调用请求携带有所述目标接口的接口标识,所述接口标识用于确定所述目标接口的接口文档;
第一生成模块,用于根据所述接口文档和所述目标接口的类型生成用于调用所述目标接口的第一代码,并对所述第一代码进行打包,得到Java归档包,其中,所述目标接口的类型至少包括:超文本传输协议HTTP接口,应用程序接口API;
第一发送模块,用于将所述Java归档包发送至所述第一***,其中,所述第一***用于根据所述Java归档包调用所述目标接口。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126800.3A CN111367685B (zh) | 2020-02-28 | 2020-02-28 | 接口调用的方法及装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126800.3A CN111367685B (zh) | 2020-02-28 | 2020-02-28 | 接口调用的方法及装置、计算机设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367685A true CN111367685A (zh) | 2020-07-03 |
CN111367685B CN111367685B (zh) | 2022-11-15 |
Family
ID=71208190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010126800.3A Active CN111367685B (zh) | 2020-02-28 | 2020-02-28 | 接口调用的方法及装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367685B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112905461A (zh) * | 2021-02-09 | 2021-06-04 | 中国工商银行股份有限公司 | 自动化接口测试案例执行方法及装置 |
CN112988289A (zh) * | 2021-04-09 | 2021-06-18 | 北京字节跳动网络技术有限公司 | 调用接口的方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1489592A1 (en) * | 2003-06-19 | 2004-12-22 | Texas Instruments Incorporated | Accessing video memory in programming language representation |
US20060190935A1 (en) * | 2005-02-18 | 2006-08-24 | International Business Machines Corporation | Method and apparatus for transforming Java native interface function calls into simpler operations during just-in-time compilation |
CN107766040A (zh) * | 2017-09-19 | 2018-03-06 | 深圳市买买提乐购金融服务有限公司 | 一种生成接口文档的方法、装置及计算机可读存储介质 |
CN109857576A (zh) * | 2019-01-28 | 2019-06-07 | 中国工商银行股份有限公司 | Rpc接口调用方法及装置 |
CN110300082A (zh) * | 2018-03-21 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 一种接口生成方法、装置及存储介质 |
CN110515608A (zh) * | 2019-08-30 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种接口代码的生成方法及装置、电子设备、存储介质 |
-
2020
- 2020-02-28 CN CN202010126800.3A patent/CN111367685B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1489592A1 (en) * | 2003-06-19 | 2004-12-22 | Texas Instruments Incorporated | Accessing video memory in programming language representation |
US20060190935A1 (en) * | 2005-02-18 | 2006-08-24 | International Business Machines Corporation | Method and apparatus for transforming Java native interface function calls into simpler operations during just-in-time compilation |
CN107766040A (zh) * | 2017-09-19 | 2018-03-06 | 深圳市买买提乐购金融服务有限公司 | 一种生成接口文档的方法、装置及计算机可读存储介质 |
CN110300082A (zh) * | 2018-03-21 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 一种接口生成方法、装置及存储介质 |
CN109857576A (zh) * | 2019-01-28 | 2019-06-07 | 中国工商银行股份有限公司 | Rpc接口调用方法及装置 |
CN110515608A (zh) * | 2019-08-30 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种接口代码的生成方法及装置、电子设备、存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112463261B (zh) * | 2020-11-20 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 接口调用方法、装置、电子设备、介质及产品 |
CN112905461A (zh) * | 2021-02-09 | 2021-06-04 | 中国工商银行股份有限公司 | 自动化接口测试案例执行方法及装置 |
CN112905461B (zh) * | 2021-02-09 | 2024-03-15 | 中国工商银行股份有限公司 | 自动化接口测试案例执行方法及装置 |
CN112988289A (zh) * | 2021-04-09 | 2021-06-18 | 北京字节跳动网络技术有限公司 | 调用接口的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111367685B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094922B (zh) | 应用程序免安装运行控制方法及其装置 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN110187912B (zh) | 一种节点选择方法和装置 | |
US7587447B2 (en) | Systems, methods and computer programs for implementing and accessing web services | |
US7747724B2 (en) | System and method of device-to-server registration | |
CN103942225A (zh) | 一种混合型应用客户端的资源调用方法、客户端及*** | |
CN110351283A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
WO2011060735A1 (zh) | 微件Widget调用的方法、装置和*** | |
CN111930382B (zh) | 应用页面的接入方法、装置及设备 | |
US9529578B2 (en) | Automated service version upgrading | |
CN107451169A (zh) | 一种体育竞赛信息发布***通用平台 | |
US8387039B2 (en) | System and method for customized provisioning of application content | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN111858101A (zh) | 面向云架构***的适配方法、装置、设备及存储介质 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN109062714A (zh) | 远程控制安卓设备的方法、装置及电子设备 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
US9128886B2 (en) | Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium | |
CA2604936C (en) | System and method of presenting entities of standard device applications in wireless devices | |
KR20050094372A (ko) | 멀티미디어 콘텐츠 서비스 시스템과 방법 및 그 기록매체 | |
CN109032693A (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN113806216A (zh) | 接口测试方法、装置、介质及设备 | |
CN116668520A (zh) | 一种基于网关的服务编排方法、***、设备及存储介质 | |
CN112910956B (zh) | 一种资源创建方法、装置及电子设备 | |
CN111857736A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220525 Address after: 518000 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd. Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001 Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |