CN112583891B - 接口文档获取方法、装置和服务器 - Google Patents
接口文档获取方法、装置和服务器 Download PDFInfo
- Publication number
- CN112583891B CN112583891B CN202011299305.9A CN202011299305A CN112583891B CN 112583891 B CN112583891 B CN 112583891B CN 202011299305 A CN202011299305 A CN 202011299305A CN 112583891 B CN112583891 B CN 112583891B
- Authority
- CN
- China
- Prior art keywords
- server
- interface document
- gateway
- configuration information
- service
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种接口文档获取方法、装置和服务器,所述方法包括:响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;基于所述配置信息对所述网关进行配置;基于配置后的网关与所述第二服务器之间建立通信连接;基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
Description
技术领域
本申请涉及网关技术领域,特别涉及一种接口文档获取方法、装置和服务器。
背景技术
随着科技的发展,微服务系统逐渐得到人们的认可和广泛的应用。微服务系统架构中通常可以包括多个执行不同功能或服务项目(如服务器),如订单服务、快递服务、餐饮服务、仓管服务等项目。通常在软件开发过程中,软件应用需要具备应用程序接口(如API接口),以用于实现通信连接。
具体地,应用程序接口(如API接口)一般用于提供应用程序(微服务)与开发人员以访问一组例程的能力,而无需访问源代码,或理解内部工作机制细节。接口文档(如API接口文档)一般用于对所有接口的调用和其中涉及到的参数的解释说明。目前,接口文档可以分为书面式的接口文档和web网页版接口文档,其中书面式接口文档不利于推广应用,web网页版接口文档可以通过网络在显示界面上进行可视化展示、调用或描述等,使用体验较好。
一般情况下,一个服务项目对应一个接口文档,当微服务系统中存在多个服务项目,或一个服务项目拆分为多个子项目时,就会存在多个接口文档,例如,微服务系统中存在几十甚至几百个服务项目时,导致用户使用难度增加。
现有技术中,当用户端请求调用某一个服务项目的接口文档时,用户端需要先将请求发送到网关,网关根据接口文档访问路径,调用该服务项目的接口文档,该网关中存有当前服务项目的接口信息以及接口文档访问路径,若用户端请求调用新的服务项目的接口文档时,该网关必须重启,以在该网关中配置新的服务项目的接口信息以及接口文档访问路径,影响用户使用。
另外,网关通常屏蔽了内网(服务项目)与外网(用户端),以防止他人恶意访问内网中不对外开放的服务项目。在现有技术中,用户端需要知道内网(服务项目)的IP地址,才能够通过网关接入内网,然后才能够调用内网中服务项目的接口文档。然而,有些服务项目的接口文档可以对外开放的,由于用户端不知道该服务项目的IP地址,也就无法调用该服务项目的接口文档,使用体验度较差。
发明内容
本申请提供了一种接口文档获取方法、装置和服务器,能够获取一个或多个服务项目(服务器)的接口文档,当获取新的服务器的接口文档时,无需重启网关。当用户端请求调取服务器的接口文档时,用户端无需知道服务器的IP地址,使用较为方便。
第一方面,本申请提供了一种接口文档获取方法,应用于第一服务器,所述第一服务器包括网关,包括:
响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
基于所述配置信息对所述网关进行配置;
基于配置后的网关与所述第二服务器之间建立通信连接;
基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
其中一种可能的实现方式中,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,所述基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取接口文档,包括:
基于所述服务标识,向所述第二服务器发送接口文档请求;
根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
其中一种可能的实现方式中,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,所述基于所述服务标识,向所述第二服务器发送接口文档请求,包括:
响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
其中一种可能的实现方式中,所述方法还包括:
获取预设服务器的服务名及其对应的地址;
将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
其中一种可能的实现方式中,所述网关包括接口文档编写工具,所述基于所述配置信息对所述网关进行配置,包括:
将所述配置信息写入所述接口文档编写工具中;
基于所述配置信息,编写所述第二服务器的接口文档访问路径。
其中一种可能的实现方式中,所述网关还包括接口文档资源类,所述基于所述服务标识,向所述第二服务器发送接口文档请求之后,所述方法还包括:
获取接口文档;
将所述接口文档写入所述接口文档资源类中。
其中一种可能的实现方式中,所述网关包括网关配置中心,所述网关配置中心用于接收所述配置信息,在所述基于所述配置信息对所述网关进行配置之前,所述方法还包括:
监听所述网关配置中心是否接收到所述配置信息;
若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
第二方面,本申请提供一种接口文档获取装置,所述装置包括网关,所述装置还包括:
配置信息获取模块,用于响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
配置模块,用于基于所述配置信息对所述网关进行配置;
连接模块,用于基于配置后的网关与所述第二服务器之间建立通信连接;
获取模块,用于基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
其中一种可能的实现方式中,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,所述获取模块包括:
请求模块,应用于基于所述服务标识,向所述第二服务器发送接口文档请求;
调取模块,用于根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
其中一种可能的实现方式中,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,所述请求模块,包括:
选取模块,用于响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
确定模块,用于基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
发送模块,用于基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
其中一种可能的实现方式中,所述装置还包括:
获取更新模块,用于获取预设服务器的服务名及其对应的地址;
添加模块,用于将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
其中一种可能的实现方式中,所述网关包括接口文档编写工具,所述配置模块包括:
配置信息写入模块,用于将所述配置信息写入所述接口文档编写工具中;
编写模块,用于基于所述配置信息,编写所述第二服务器的接口文档访问路径。
其中一种可能的实现方式中,所述网关还包括接口文档资源类,所述装置还包括:
接口文档获取模块,用于获取接口文档;
接口文档写入模块,用于将所述接口文档写入所述接口文档资源类中。
其中一种可能的实现方式中,所述网关包括网关配置中心,所述网关配置中心用于接收所述配置信息,所述装置还包括:
监听模块,用于监听所述网关配置中心是否接收到所述配置信息;
判断模块,用于若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
第三方面,本申请提供一种服务器,包括:
网关;一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述服务器执行时,使得所述服务器执行第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
第五方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为本申请接口文档获取方法一个实施例的流程图;
图2为本申请接口文档获取方法中请求服务器一个实施例的流程图;
图3为本申请接口文档获取方法一个实施例的应用示意图;
图4为本申请接口文档获取方法中网关配置中心一个实施例的示意图;
图5为本申请接口文档获取装置的结构示意图;
图6A为本申请接口文档获取装置中获取模块一个实施例的结构示意图;
图6B为本申请接口文档获取装置中请求模块一个实施例的结构示意图;
图7为本申请接口文档获取装置中配置模块一个实施例的结构示意图;
图8为本申请服务器一个实施例的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
现有技术中,当用户端请求调用某一个服务项目的接口文档时,用户端需要先将请求发送到网关,网关根据接口文档访问路径,调用该服务项目的接口文档,该网关中存有当前服务项目的接口信息以及接口文档访问路径,若用户端请求调用新的服务项目的接口文档时,该网关必须重启,以在该网关中配置新的服务项目的接口信息以及接口文档访问路径,影响用户使用。
另外,网关通常屏蔽了内网(服务项目)与外网(用户端),以防止他人恶意访问内网中不对外开放的服务项目。在现有技术中,用户端需要知道内网(服务项目)的IP地址,才能够通过网关接入内网,然后才能够调用内网中服务项目的接口文档。然而,有些服务项目的接口文档可以对外开放的,由于用户端不知道该服务项目的IP地址,也就无法调用该服务项目的接口文档,使用体验度较差。
为此,本申请提出一种接口文档获取方法、装置和服务器,能够获取一个或多个服务器的接口文档,便于统一管理。当获取新的服务器的接口文档时,无需重启网关。当用户端请求调取服务器的接口文档时,用户端无需知道服务器的IP地址,使用较为方便。
图1为本申请接口文档获取方法一个实施例的流程图,如图1所示,上述接口文档获取方法可以包括:
S101、响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档。
在本实施例中,用户端与微服务系统之间建立连接。所述微服务系统包括第一服务器和第二服务器,所述第一服务器包括网关,所述第二服务器可以为一个或多个服务项目(服务器),例如,订单服务、快递服务、餐饮服务、仓管服务等项目。用户端可以通过所述第一服务器的网关访问一个或多个所述第二服务器。
所述接口文档获取方法应用于所述第一服务器。在步骤S101中,所述第一服务器中可以显示第一页面,所述网关可以包括网关配置中心,所述第一页面可以显示所述网关配置中心画面,并允许用户对所述网关配置中心进行操作,也就是说,用户可以在所述第一页面的网关配置中心中输入所述配置信息。优选地,所述网关配置中心可以被实施为Nacos配置中心或spring Config配置中心等,其具有配置和管理微服务的软件平台,使得用户可以在网关配置中心配置或管理微服务中的服务项目,特别地,其有利于管理微服务系统中多个服务项目,如几十甚至几百个服务项目。所述网关配置中心是面向服务的,其可以支持的服务类型可以包括Kubernates服务、gRPC和Dubbo RPC服务、Spring Cloud RESTful服务等。
也就是说,当微服务系统中添加新的第二服务器(新服务项目)时,用户可以在所述第一服务器的网关配置中心中添加该第二服务器的配置信息,而且,所述网关不需要关机或重启等。
如图4所示,所述网关配置中心允许用户进行配置管理,所述网关配置中心可以获取和监听服务提供者或服务消费者的配置信息。
步骤S101中,所述第一操作可以包括点击鼠标、敲击键盘等。所述服务标识用于标识不同的第二服务器。举例地,所述服务标识可以包括服务名,如可以采用op-app-service、hd-api-service、op-message-service、op-log-service等服务名标识多个不同的第二服务器。进一步地,所述网关可以根据所述服务标识及其对应的第二服务器IP地址,访问对应的第二服务器。
一般情况下,所述第二服务器的接口文档可以为web网页版接口文档。所述接口文档如API接口文档等,所述接口文档可以包括对所有API接口的调用和其中涉及到的参数的清晰的解释说明。该API接口用于提供第二服务器的应用程序(服务项目)与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
S102、基于所述配置信息对所述网关进行配置。
步骤S102中,可以根据所述配置信息,将所述第二服务器的服务标识配置于所述网关中,使得所述网关可以根据所述服务标识访问第二服务器并调取所述第二服务器的接口文档。
举例地,所述网关可以包括接口文档编写工具(如Swagger编写工具或软件等),步骤S102中,包括:
S201、将所述配置信息写入所述接口文档编写工具中;
S202、基于所述配置信息,编写所述第二服务器的接口文档访问路径。
进一步地,Nacos配置中心与Swagger编写工具之间可以建立相关依赖,使得Nacos配置中心中的配置信息可以写入Swagger编写工具中,然后,Swagger编写工具可以根据所述配置信息编写所述第二服务器的接口文档访问路径,使得所述网关可以根据所述接口文档访问路径调取所述第二服务器的接口文档。
其中一种可能的实现方式中,在步骤S102之前,所述方法还包括:
S301、监听所述网关配置中心是否接收到所述配置信息;
S302、若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
所述网关还可以包括监听器,该监听器具有监听功能,用于监听所述网关配置中心的配置变化。也就是说,当所述网关配置中心接收到用户输入的配置信息时,监听器可以监听到所述网关配置中心中配置发生变化(如接收到所述配置信息),然后将所述配置信息写入所述接口文档编写工具中,以完成对所述网关的配置,因此,在此过程中,无需重启所述网关,即可在所述网关中配置新服务项目的接口文档访问路径。
举例地,所述监听器可以记录所述网关配置中心的配置变化,如添加日志等。本实施例中,可以通过重写Swagger Resources Provider类中的get方法,并使用nacosfactory获取nacos配置对象,监听nacos中配置的变化,完成对所述网关的配置。
优选地,所述网关还可以包括接口文档资源类,所述接口文档资源类可以被实施为如Swagger Resource等接口文档资源类。
步骤S102中,可以把nacos中的配置写入重写的get方法中Swagger Resource对象中,其中,Swagger Resource可以包含由Swagger编写工具编写的多个第二服务器(服务项目)的接口文档访问路径等信息,使得所述网关可以根据该访问路径调取多个第二服务器的接口文档。而在现有技术中,网关中只含有本地配置和当前服务项目的接口文档访问路径,网关需要重启才能够配置新的服务项目的接口文档路径,因此无法调取多个第二服务器的接口文档。
S103、基于配置后的网关与所述第二服务器之间建立通信连接。
也就是说,配置后的网关中可以根据所述服务标识对应的第二服务器地址,访问所述第二服务器。
如图3所示,所述第二服务器可以包括服务项目A、服务项目B、服务项目C以及服务项目D,用户端可以通过所述网关分别与多个第二服务器之间建立通信连接。
S104、基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
也就是说,所述第一服务器可以根据所述服务标识的服务名访问对应的第二服务器,并向所述第二服务器发送接口文档请求,以请求获取所述第二服务器的接口文档。
进一步地,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,步骤S104,包括:
S401、基于所述服务标识,向所述第二服务器发送接口文档请求;
S402、根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
步骤S401中,根据服务标识对应的第二服务器的IP地址,所述网关可以访问所述第二服务器,向所述第二服务器发送接口文档请求。
步骤S402中,接口文档访问路径可以被实施为域名/二段路径/xxx.html等访问路径,所述网关根据所述访问路径调取所述第二服务器的接口文档。而在现有技术中,网关中Swagger接口文档访问路径一般为ip/xxx.html。也就是说,现有技术中,用户需要知道服务项目的IP地址,才能够调取该服务项目的接口文档,而本申请中,用户无需知道服务项目的IP地址,即可以调取该服务项目的接口文档。
其中一种可能的实现方式中,如图2所示,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,步骤S401,包括:
S501、响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
S502、基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
S503、基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
优选地,所述关键字可以被实施为Url(资源定位系统)信息。所述第一服务器可以显示所述第二页面,所述第二页面中可以显示多个第二服务器的关键字,使得用户可以根据该关键字识别对应的第二服务器。步骤S501中,用户可以包括点击选取所述第二页面中多个关键字中的其中一个作为目标关键字,如选取下拉搜索栏中的多个关键字中的一个作为目标关键字。目标关键字对应的第二服务器为目标服务器,目标服务器的服务名为目标服务名。
可以看出的是,用户仅需知道第二服务器的服务名和关键字,即可通过所述网关调取对应的第二服务器的接口文档,而无需知道第二服务器的地址,因此,有利于提高用户使用体验。
需要指出的是,用户可以通过步骤S101至S102,用户可以在第一页面上输入配置信息,实现对所述网关进行配置,使得在网关中添加新服务项目的配置信息(包括服务名和关键字)。在步骤S401中,所述第二页面中会显示出该新服务项目的关键字。当用户点击选中该新服务项目的关键字时,网关可以请求访问新服务项目,并调取该新服务项目的接口文档。进一步地,新服务项目(如目标服务器)的接口文档可以显示于所述第一服务器的界面上,或者,显示于与所述第一服务器通信连接的用户端界面上。
进一步地,所述服务标识还可以包括与第二服务器对应的名称,用于用户直观地识别对应的服务项目,如服务项目A、B、C、D等。
举例地,多个第二服务器的配置信息可以分别表示为:
服务项目A表示为Server Name List[0]:
Server(服务名):op-app-service
Name(名称):软件管理api
url(关键字):app
服务项目B表示为Server Name List[1]:
Server(服务名):hd-api-service
Name(名称):外部接口api
url(关键字):api
服务项目C表示为Server Name List[2]:
Server(服务名):op-log-service
Name(名称):运营管理api
url(关键字):message
其中一种可能的实现方式中,所述网关还可以包括接口文档资源类(如SwaggerResource资源类),所述步骤S104之后,所述方法还包括:
S105、获取接口文档;
S106、将所述接口文档写入所述接口文档资源类中。
也就是说,所述网关根据所述接口文档访问路径,调取所述第二服务器的接口文档,然后,将所述接口文档写入所述接口文档资源类中,以供用户直接从所述接口文档资源类中提取相应的接口文档。可以理解的是,所述接口文档资源类中还可以包含多个第二服务器的接口文档访问路径,在此不受限制。
其中一种可能的实现方式中,所述方法还可以包括:
S601、获取预设服务器的服务名及其对应的地址;
S602、将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
本实施例中,预设服务器如第二服务器或新服务项目,也就是说,本方法中还可以实现对所述网关中的服务名与地址之间映射关系进行维护或更新,网关根据该映射关系和用户输入的服务名,确定第二服务器的地址,以实现与第二服务器之间的通信连接,以确保使用可靠度。
需要指出的是,所述网关一般具有安全、监控、限流、灰度以及路由等功能,其中,安全功能可以包括权限身份认证、脱敏,流量清洗,后端签名(保证全链路可信调用),黑名单(非法调用的限制)等,监控功能可以包括记录请求响应数据,API接口耗时分析,性能监控等,限流功能可以包括流量控制,错峰流控,可以自定义多种限流规则等,灰度功能可以包括线上灰度部署等,以减小风险,路由功能可以具有动态路由规则,如当加载服务项目时,获取Nacos Factory源码,重写监听器,获取配置中心中的路由配置,写入网关路由配置,当配置中心配置改变时触发监听器。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
图5为本申请接口文档获取装置100一个实施例的结构示意图,如图5所示,上述接口文档获取装置100可以包括:
配置信息获取模块10,用于响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
配置模块20,用于基于所述配置信息对所述网关进行配置;
连接模块30,用于基于配置后的网关与所述第二服务器之间建立通信连接;
获取模块40,用于基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
其中一种可能的实现方式中,如图6A所示,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,所述获取模块40包括:
请求模块41,应用于基于所述服务标识,向所述第二服务器发送接口文档请求;
调取模块42,用于根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
其中一种可能的实现方式中,如图6B所示,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,所述请求模块41,包括:
选取模块411,用于响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
确定模块412,用于基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
发送模块413,用于基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
其中一种可能的实现方式中,所述装置100还包括:
获取更新模块50,用于获取预设服务器的服务名及其对应的地址;
添加模块60,用于将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
其中一种可能的实现方式中,如图7所示,所述网关包括接口文档编写工具,所述配置模块20包括:
配置信息写入模块21,用于将所述配置信息写入所述接口文档编写工具中;
编写模块22,用于基于所述配置信息,编写所述第二服务器的接口文档访问路径。
其中一种可能的实现方式中,所述网关还包括接口文档资源类,所述装置100还包括:
接口文档获取模块,用于获取接口文档;
接口文档写入模块,用于将所述接口文档写入所述接口文档资源类中。
其中一种可能的实现方式中,所述网关包括网关配置中心,所述网关配置中心用于接收所述配置信息,所述装置100还包括:
监听模块70,用于监听所述网关配置中心是否接收到所述配置信息;
判断模块80,用于若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
图5所示实施例提供的接口文档获取装置100可用于执行本申请图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
应理解以上图5~图7所示的接口文档获取装置100的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在服务器的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
图8为本申请服务器一个实施例的结构示意图,如图8所示,上述服务器(如第一服务器)可以包括:网关;一个或多个处理器;存储器;以及一个或多个计算机程序。
其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述服务器执行时,使得上述服务器执行以下步骤:
响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
基于所述配置信息对所述网关进行配置;
基于配置后的网关与所述第二服务器之间建立通信连接;
基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
其中一种可能的实现方式中,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,所述基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取接口文档,包括:
基于所述服务标识,向所述第二服务器发送接口文档请求;
根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
其中一种可能的实现方式中,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,所述基于所述服务标识,向所述第二服务器发送接口文档请求,包括:
响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
其中一种可能的实现方式中,所述方法还包括:
获取预设服务器的服务名及其对应的地址;
将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
其中一种可能的实现方式中,所述网关包括接口文档编写工具,所述基于所述配置信息对所述网关进行配置,包括:
将所述配置信息写入所述接口文档编写工具中;
基于所述配置信息,编写所述第二服务器的接口文档访问路径。
其中一种可能的实现方式中,所述网关还包括接口文档资源类,所述基于所述服务标识,向所述第二服务器发送接口文档请求之后,所述方法还包括:
获取接口文档;
将所述接口文档写入所述接口文档资源类中。
其中一种可能的实现方式中,所述网关包括网关配置中心,所述网关配置中心用于接收所述配置信息,在所述基于所述配置信息对所述网关进行配置之前,所述方法还包括:
监听所述网关配置中心是否接收到所述配置信息;
若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
图8所示的服务器可以是计算机系统,或云端服务器系统等。该服务器可以用于执行本申请图1所示实施例提供的方法中的功能/步骤。
如图8所示,服务器900包括处理器910、存储器920以及网关930。其中,处理器910和存储器920之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器920用于存储计算机程序,该处理器910用于从该存储器920中调用并运行该计算机程序。
上述存储器920可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
上述处理器910可以和存储器920可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器920中存储的程序代码来实现上述功能。具体实现时,该存储器920也可以集成在处理器910中,或者,独立于处理器910。
所述网关930与所述处理器910相连接。所述网关930一般具有安全、监控、限流、灰度以及路由等功能,其中,安全功能可以包括权限身份认证、脱敏,流量清洗,后端签名(保证全链路可信调用),黑名单(非法调用的限制)等,监控功能可以包括记录请求响应数据,API接口耗时分析,性能监控等,限流功能可以包括流量控制,错峰流控,可以自定义多种限流规则等,灰度功能可以包括线上灰度部署等,以减小风险,路由功能可以具有动态路由规则,如当加载服务项目时,获取Nacos Factory源码,重写监听器,获取配置中心中的路由配置,写入网关路由配置,当配置中心配置改变时触发监听器。
应理解,图8所示的服务器900能够实现本申请图1所示实施例提供的方法的各个过程。服务器900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见本申请图1所示方法实施例中的描述,为避免重复,此处适当省略详细描述。
应理解,图8所示的服务器900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器920中。
以上各实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种接口文档获取方法,应用于第一服务器,所述第一服务器包括网关,其特征在于,包括:
响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
基于所述配置信息对所述网关进行配置;
基于配置后的网关与所述第二服务器之间建立通信连接;
基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取所述接口文档。
2.根据权利要求1所述的方法,其特征在于,所述网关包括一个或多个第二服务器的接口文档访问路径,所述访问路径基于所述配置信息确定,所述访问路径与所述第二服务器的接口文档一一对应,所述基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取接口文档,包括:
基于所述服务标识,向所述第二服务器发送接口文档请求;
根据所述接口文档请求和所述访问路径,调取所述第二服务器的接口文档。
3.根据权利要求2所述的方法,其特征在于,所述服务标识包括所述第二服务器的服务名和关键字,所述网关包括所述第二服务器的服务名与地址之间的映射关系,所述关键字用于识别所述第二服务器,所述基于所述服务标识,向所述第二服务器发送接口文档请求,包括:
响应用户从多个所述关键字中选取目标关键字,确定目标服务器;
基于所述目标服务器的服务名与所述映射关系,确定所述目标服务器的地址;
基于所述目标服务器的地址,向所述目标服务器发送接口文档请求。
4.根据权利要求3所述方法,其特征在于,所述方法还包括:
获取预设服务器的服务名及其对应的地址;
将所述预设服务器的服务名及其对应的地址添加至所述映射关系中。
5.根据权利要求1所述的方法,其特征在于,所述网关包括接口文档编写工具,所述基于所述配置信息对所述网关进行配置,包括:
将所述配置信息写入所述接口文档编写工具中;
基于所述配置信息,编写所述第二服务器的接口文档访问路径。
6.根据权利要求5所述的方法,其特征在于,所述网关还包括接口文档资源类,所述基于所述服务标识,向所述第二服务器发送接口文档请求之后,所述方法还包括:
获取接口文档;
将所述接口文档写入所述接口文档资源类中。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述网关包括网关配置中心,所述网关配置中心用于接收所述配置信息,在所述基于所述配置信息对所述网关进行配置之前,所述方法还包括:
监听所述网关配置中心是否接收到所述配置信息;
若所述网关配置中心接收到所述配置信息,则基于所述配置信息对所述网关进行配置。
8.一种接口文档获取装置,所述装置包括网关,其特征在于,所述装置还包括:
配置信息获取模块,用于响应用户输入配置信息的操作,获取配置信息,所述配置信息包括一个或多个第二服务器的服务标识,所述服务标识用于标识所述第二服务器的地址,所述第二服务器包括接口文档;
配置模块,用于基于所述配置信息对所述网关进行配置;
连接模块,用于基于配置后的网关与所述第二服务器之间建立通信连接;
获取模块,用于基于所述服务标识,向所述第二服务器发送接口文档请求,所述接口文档请求用于获取接口文档。
9.一种服务器,其特征在于,包括:
网关;一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述服务器执行时,使得所述服务器执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299305.9A CN112583891B (zh) | 2020-11-19 | 2020-11-19 | 接口文档获取方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299305.9A CN112583891B (zh) | 2020-11-19 | 2020-11-19 | 接口文档获取方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583891A CN112583891A (zh) | 2021-03-30 |
CN112583891B true CN112583891B (zh) | 2021-07-06 |
Family
ID=75122955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011299305.9A Active CN112583891B (zh) | 2020-11-19 | 2020-11-19 | 接口文档获取方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112583891B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778423B (zh) * | 2021-09-10 | 2024-03-01 | 上海幻电信息科技有限公司 | 接口文档生成方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405216B1 (en) * | 1999-09-17 | 2002-06-11 | International Business Machines Corporation | Internet-based application program interface (API) documentation interface |
CN106230874A (zh) * | 2016-04-01 | 2016-12-14 | 深圳市联软科技股份有限公司 | 一种业务访问方法、装置及系统 |
CN107635022A (zh) * | 2016-07-18 | 2018-01-26 | 华为软件技术有限公司 | 跨内外网服务访问方法和装置 |
CN109445841A (zh) * | 2018-11-08 | 2019-03-08 | 深圳乐信软件技术有限公司 | 接口文档管理方法、装置、服务器及存储介质 |
CN109828902A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 接口参数确定方法、装置、电子设备及存储介质 |
CN110321154A (zh) * | 2019-06-25 | 2019-10-11 | 北京奇艺世纪科技有限公司 | 一种微服务的接口信息展示方法、装置及电子设备 |
CN110955416A (zh) * | 2019-10-12 | 2020-04-03 | 平安普惠企业管理有限公司 | 接口文档生成方法、装置、设备和计算机存储介质 |
CN111240653A (zh) * | 2019-12-31 | 2020-06-05 | 瑞庭网络技术(上海)有限公司 | 接口文档生成方法、装置及可读存储介质 |
-
2020
- 2020-11-19 CN CN202011299305.9A patent/CN112583891B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405216B1 (en) * | 1999-09-17 | 2002-06-11 | International Business Machines Corporation | Internet-based application program interface (API) documentation interface |
CN106230874A (zh) * | 2016-04-01 | 2016-12-14 | 深圳市联软科技股份有限公司 | 一种业务访问方法、装置及系统 |
CN107635022A (zh) * | 2016-07-18 | 2018-01-26 | 华为软件技术有限公司 | 跨内外网服务访问方法和装置 |
CN109445841A (zh) * | 2018-11-08 | 2019-03-08 | 深圳乐信软件技术有限公司 | 接口文档管理方法、装置、服务器及存储介质 |
CN109828902A (zh) * | 2018-12-15 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 接口参数确定方法、装置、电子设备及存储介质 |
CN110321154A (zh) * | 2019-06-25 | 2019-10-11 | 北京奇艺世纪科技有限公司 | 一种微服务的接口信息展示方法、装置及电子设备 |
CN110955416A (zh) * | 2019-10-12 | 2020-04-03 | 平安普惠企业管理有限公司 | 接口文档生成方法、装置、设备和计算机存储介质 |
CN111240653A (zh) * | 2019-12-31 | 2020-06-05 | 瑞庭网络技术(上海)有限公司 | 接口文档生成方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112583891A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713108B2 (en) | Computing system issue detection and resolution | |
US11150893B2 (en) | Collaborative software development tool for resolving potential code-change conflicts in real time | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
AU2014348826B2 (en) | User support experience with automatically generated virtual environment | |
US20180276109A1 (en) | Distributed system test device | |
JP2021524090A (ja) | 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること | |
US7761527B2 (en) | Method and apparatus for discovering network based distributed applications | |
CN105808399B (zh) | 一种远程调试的方法和装置 | |
US9280665B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
US8434056B2 (en) | Rule engine system controlling devices of disparate types and protocols | |
US10749889B2 (en) | Rule-based remediation of vulnerabilities in a managed network | |
KR101497167B1 (ko) | 분산 운영 시스템에서의 외부 하드웨어 기기의 관리 | |
US20090210435A1 (en) | Configuration item management tool | |
JP6661809B2 (ja) | 管理対象ネットワークにおける構成項目クラス間の運用上の関連付けの定義及び実行 | |
US10754717B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
US10275338B2 (en) | Automated system for fixing and debugging software deployed to customers | |
US10225152B1 (en) | Access control policy evaluation and remediation | |
US10705895B2 (en) | Device based automated tool integration for lifecycle management platform | |
WO2022062958A1 (zh) | 隐私检测方法及装置、计算机可存储介质 | |
CN112583891B (zh) | 接口文档获取方法、装置和服务器 | |
WO2023151397A1 (zh) | 应用程序部署方法、装置、设备及介质 | |
US20230067891A1 (en) | Service virtualization platform | |
CN116186457B (zh) | 网页访问和网页开发的方法、装置、电子设备及介质 | |
WO2019005434A1 (en) | DEVELOPER EXPERIENCE APPROPRIATE TO A VARIANT OF AN APPLICATION PROGRAMMING INTERFACE | |
US8214499B2 (en) | System and method for enabling software applications as a service in a non-intrusive manner |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 101500 room 106-266, building 2, courtyard 8, Xingsheng South Road, Miyun District, Beijing Patentee after: Unicom Zhiwang Technology Co.,Ltd. Address before: 101500 room 106-266, building 2, courtyard 8, Xingsheng South Road, Miyun District, Beijing Patentee before: Unicom Intelligent Network Technology Co., Ltd |