CN110007950A - 一种应用程序接口的管理方法、装置及服务器 - Google Patents
一种应用程序接口的管理方法、装置及服务器 Download PDFInfo
- Publication number
- CN110007950A CN110007950A CN201910284800.3A CN201910284800A CN110007950A CN 110007950 A CN110007950 A CN 110007950A CN 201910284800 A CN201910284800 A CN 201910284800A CN 110007950 A CN110007950 A CN 110007950A
- Authority
- CN
- China
- Prior art keywords
- client
- api
- request
- request message
- target
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 239000000126 substance Substances 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000013475 authorization Methods 0.000 claims description 51
- 230000002452 interceptive effect Effects 0.000 claims description 39
- 230000003993 interaction Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 230000008878 coupling Effects 0.000 abstract description 7
- 238000010168 coupling process Methods 0.000 abstract description 7
- 238000005859 coupling reaction Methods 0.000 abstract description 7
- 230000033772 system development Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 16
- 230000006399 behavior Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种应用程序接口的管理方法、装置及服务器。其中该方法包括:获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的API;根据预先设置的客户端配置信息对所述请求消息进行验证;如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。由此,本申请的技术方案对API进行统一管理和配置,并且集中处理客户端对API的请求行为,从而客户端的程序只需针对服务端进行适配,因此,提高了软件***开发效率,降低了软件***的耦合性,提高了API的请求效率。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种应用程序接口的方法、装置及服务器。
背景技术
应用程序接口(application programming interface,API),又称为应用编程接口,是计算机操作***或程序库提供给应用程序调用使用的代码,其主要目的是让应用程序开发人员得以调用一组子程序功能,而无须考虑子程序功能的底层源代码如何、理解子程序功能内部工作机制的细节。良好的API设计能够使软件***的功能职责得到合理划分,降低软件***各部分之间的相互依赖,提高软件***的可维护性和扩展性。
在一些业务广泛的互联网企业中,开发人员维护和使用着大量的API,这些API会被一个或多个客户端调用,并随着企业的业务分工和协作而细化,从而提高了程序开发效率。但是,随着API的数量不断增多,在目前的对API的调用和管理方式下,一些问题也显现出来。例如,图1是现有技术的一种API的调用和管理架构图,在图1示出的架构中,客户端对每个API进行单独调用,且没有实现对API的集中管理,导致功能重复的API的数量多、软件***耦合性高,例如日志记录、监控和限流等共通的功能对各个API单独设置,降低了软件***的效率;另外,由于没有对API实现集中管理,API缺少入口,API被调用后返回的数据格式也多种多样,导致开发人员不得不针对每个API对软件***进行适配性的开发,消耗了大量的时间成本。
可见,在维护有大量API的软件开发场景中,现有技术对API管理的效率较低,降低了软件***的开发效率。
发明内容
本申请实施例提供了一种应用程序接口的管理方法、装置及服务器,以解决现有技术在维护有大量API的软件开发场景中,由于对API管理的效率较低而降低软件***开发效率的问题。
第一方面,本申请实施例提供了一种应用程序接口的管理方法,包括:
获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标应用程序接口(application programming interface,API);
根据预先设置的客户端配置信息对所述请求消息进行验证;
如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
第二方面,本申请实施例提供了一种应用程序接口的管理装置,包括:
接收模块,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理模块,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理模块,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
发送模块,用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
第三方面,本申请实施例提供了一种服务器,包括:
收发器,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理器,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理器,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
所述收发器,还用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
由以上技术方案可知,本申请实施例提供了一种应用程序接口的管理方法、装置及服务器。其中该方法包括:获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的API;根据预先设置的客户端配置信息对所述请求消息进行验证;如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。由此,本申请的技术方案对API进行统一管理和配置,并且集中处理客户端对API的请求行为,从而客户端的程序只需针对服务端进行适配,因此,提高了软件***开发效率,降低了软件***的耦合性,提高了API的请求效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的一种API的调用和管理架构图;
图2是本申请提供的一种用于管理应用程序接口的软件***架构示意图;
图3是本申请实施例提供的一种应用程序接口的管理方法的流程图;
图4为本申请实施例提供的一种应用程序接口的管理方法步骤S102的流程图;
图5为本申请实施例提供的同步交互方式的示意图;
图6为本申请实施例提供的异步交互方式的示意图;
图7为本申请实施例提供的一种可视化管理客户端配置信息的页面示意图;
图8为本申请实施例提供的一种可视化管理API配置信息的页面示意图;
图9是本申请实施例提供的一种应用程序接口的管理装置的示意图;
图10是本申请实施例提供的另一种应用程序接口的管理装置的示意图;
图11是本申请实施例提供的一种服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种应用程序接口的方法、装置及服务器,以解决现有技术在维护有大量API的软件开发场景中,由于API的耦合性较高,导致对API管理的效率较低,从而降低软件***开发效率的问题。
下面是本申请的方法实施例。
图2是本申请提供的一种用于管理应用程序接口的软件***架构示意图。
如图2所示,该软件***架构包括客户端、服务端和多个API。
其中,客户端是指够调用并消费API的应用程序实体;客户端可以由个人开发者或者企业开发者开发,例如包括:桌面应用程序、手机App,以及基于HTML5开发的软件功能或服务等。容易理解的是,本申请实施例的客户端例如可以运行在手机、个人电脑、服务器、虚拟现实设备、可穿戴设备或自动驾驶设备等用户设备中。
服务端例如可以运行在服务器中,作为客户端和API的中间件而应用于客户端和API之上,用于管理客户端对API的请求,包括:监控客户端对API的请求行为、记录日志和对应用请求的API进行限流等。
图3是本申请实施例提供的一种应用程序接口的管理方法的流程图。
基于图2示出的软件***架构,本申请实施例提供的一种应用程序接口的管理方法可应用于服务端,如图3所示,该方法可以包括以下步骤:
步骤S101,获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标应用程序接口(application programming interface,API)。
具体地,运行有客户端的用户设备和运行有服务端的服务器通过有线网络和无线网络建立连接,客户端产生请求消息通过用户设备与服务器之间的网络发送给服务端。客户端的请求消息可以是根据用户在运行客户端的用户设备上执行特定操作产生的,也可以是客户端根据预设的配置和程序规则产生的。
客户端的身份信息是指客户端与服务端约定的用于唯一确定客户端身份的信息,例如:应用程序ID、IP地址、硬件ID或账号信息等。另外,客户端为了获取目标API的请求结果数据,还可以在请求消息中携带用于目标API生成请求结果数据的各类参数。
步骤S102,根据预先设置的客户端配置信息对所述请求消息进行验证。
服务端根据用户的设置,保存有客户端配置信息,这些客户端配置信息可以包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限等。
服务端解析请求消息中携带的身份信息和目标API,确定请求消息中携带的身份信息是否是客户端配置信息中记录的授权客户端的身份信息,确定请求消息中携带的目标API是否是客户端配置信息中记录授权API,并根据客户端对目标API的请求是否超出请求流量上限等,其中,该请求流量上限可以是请求次数上限,例如:每日请求次数上限,每小时请求次数上限等。
步骤S103,如果所述请求消息验证通过,生成请求所述目标API所需的实体参数。
如果服务端在步骤S102中确定客户端是授权客户端,客户端请求的目标API是授权API,并且没有超出请求流量上限,则服务端可以确定请求消息验证通过,并根据请求消息和客户端配置信息生成用于目标API生成请求结果数据的实体参数。
如果服务端在步骤S102中确定客户端不是授权客户端,则服务器确定请求消息验证未通过,服务端将验证未通过的结果通知给客户端。
如果服务端在步骤S102中确定客户端是授权客户端,但客户端请求的目标API不是授权API,则服务器确定请求消息验证未通过,服务端将验证未通过的结果通知给客户端。
如果服务端在步骤S102中确定客户端是授权客户端,客户端请求的目标API是授权API,但是客户端对目标API的请求超出了请求流量上限,则服务器确定请求消息验证未通过,服务端将验证未通过的结果通知给客户端。
步骤S104,将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
为了实现服务端将实体参数发送给目标API,服务端记录有API配置信息,API配置信息可以由用户配置,包括每个所述授权API的统一资源定位符(uniformresourcelocator,URL)地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
根据API配置信息的指示,API与客户端的数据交互方式包括同步交互方式和异步交互方式,其中,同步交互方式可以应用于客户端需要实时获取API的请求结果数据的情况,异步交互方式可以应用于API处理业务逻辑耗时较多,并且客户端不需要实时获取API的请求结果数据的情况。
图4为本申请实施例提供的一种应用程序接口的管理方法步骤S102的流程图。
如图4所示,在一个实施例中,步骤S102可以包括以下步骤:
步骤S201,根据客户端的身份信息和授权客户端的身份信息,分析客户端是否为授权客户端。如果客户端的身份信息和授权客户端的身份信息相同,则客户端是授权客户端;如果客户端的身份信息和授权客户端的身份信息不同,则客户端不是授权客户端
步骤S202,如果客户端为授权客户端,根据客户端对应的所述授权API列表确定所述目标API是否为所述授权API。如果目标API位于授权API列表中,则目标API是授权API,如果目标API不位于授权API列表中,则目标API不是授权API。
步骤S203,如果所述目标API为所述授权API,分析客户端对所述目标API的请求流量是否超出所述请求流量上限。例如,该请求流量上限为每日请求次数上限,如果客户端当日对目标API的请求次数大于每日请求次数上限,则认为超出所述请求流量上限。
步骤S204,如果客户端对所述目标API的请求流量未超出所述请求流量上限,则所述请求消息验证通过。
由此,服务端通过上述步骤S201-步骤S204实现了对客户端身份的验证,对客户端请求API权限的验证,以及对客户端请求API的流量控制的验证,从而能够对客户端的API请求行为的有效管理。
图5为本申请实施例提供的同步交互方式的示意图。
如图5所示,在同步交互方式中,服务端获取API配置信息中包含的目标API的URL地址,并将实体参数直接发送到该URL地址;目标API接收到服务端发送的实体参数后,根据实体参数生成对应的请求结果数据,并将请求结果数据直接返回给服务端;服务端接收到目标API返回的请求结果数据后,将请求结果数据发送给客户端,从而完成客户端与目标API的数据交互过程。
图6为本申请实施例提供的异步交互方式的示意图。
在异步交互方式中,客户端的请求消息中还要包括请求结果数据的通知地址,该通知地址例如可以是客户端的IP地址或者URL地址等。如图6所示,如果服务端根据API配置信息确定客户端与目标API之间的数据交互使用异步交互方式,则服务端在客户端的身份验证通过后,将身份验证通过的通知返回给客户端,并将请求消息发送给异步服务队列,该异步服务队列可以是服务端维护的消息队列(message queue,MQ),异步服务队列根据请求消息在队列中的先后顺序处理请求消息,具体包括:将请求消息对应的实体参数发送给目标API,接收目标API根据实体参数返回的请求结果数据,并通过客户端在请求消息中提供的通知地址将请求结果数据发送给客户端。
另外,作为一种可选择的实施方式,服务端还可以将用户端的请求数据和目标API返回的请求结果数据发送到与服务端连接的数据中心,例如:Mysql数据库,从而实现对客户端和API的数据交互行为的监控、记录和分析。
作为一种可选择的实施方式,用户可以通过可视化的操作方式对客户端配置信息进行管理,例如:对客户端配置信息执行增加、修改和删除等操作。
图7为本申请实施例提供的一种可视化管理客户端配置信息的页面示意图。
示例地,在图7示出的页面中,“名称”栏内可以填写客户端的身份信息,例如:应用程序ID、IP地址、硬件ID或账号信息等。
示例地,图7中的“授权API”对应的表格中列出了所有可供配置的API,每个API占据表格的一行,每一行可以包括以下参数:
“是否开通”,用户可以通过勾选(多选)“是否开通”的选项框的方式配置客户端的授权API;
“API项目”,具体可以是API名称;
“项目简介”,可以是对API的功能介绍等;
“设置日上限”,取值为非负整数,用户可以在此设置客户端每天请求API的次数上限,如果设置取值为0,则表示不限制请求次数,当客户端对API的请求次数超过次数上限时,服务端不再处理客户端的请求消息。
需要补充说明的是,图7示出的具体内容仅作为可视化管理客户端配置信息的其中一个示例性的实施例,而不是全部实施例,本领域技术人员在本申请实施例示出的可视化管理客户端配置信息的技术方案和构思的基础上还可以得到其他的实施例,这些实施例均没有超出本申请实施例的保护范围。
作为一种可选择的实施方式,用户可以通过可视化的操作方式对API配置信息进行管理,例如:对API配置信息执行增加、修改和删除等操作。
图8为本申请实施例提供的一种可视化管理API配置信息的页面示意图。
示例地,在图8示出的页面中包括以下内容:
API名称;
路由标识,可以用API名称的首字母拼接得到;
项目状态,包括启用和禁用两个选项;
接口状态名:用于配置API的相应状态标识,例如status;
接口地址:用于配置API的URL地址,例如HTTP地址;
接口请求方式:用于配置API的请求方式,例如GET请求或POST请求;
是否异步:用于配置客户端和API的数据交互方式,包括“同步”和“异步”两个选项;
队列名:用于配置API使用的异步服务队列的名称关键字。
需要补充说明的是,图8示出的具体内容仅作为可视化管理API配置信息的其中一个示例性的实施例,而不是全部实施例,本领域技术人员在本申请实施例示出的可视化管理API配置信息的技术方案和构思的基础上还可以得到其他的实施例,这些实施例均没有超出本申请实施例的保护范围。
作为一种可选择的实施方式,服务端可以记录客户端的请求消息和API返回的请求结果数据,并根据记录的数据对API的被调用情况进行分析,对API的性能进行测试和监控;另外,服务端还可以记录的数据进行统计,获得API的请求成功率、日请求量、月请求量等信息,为后续的API优化提供参考依据。
由以上技术方案可知,本申请实施例提供了一种应用程序接口的管理方法,该方法可应用于服务端,包括:获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的API;根据预先设置的客户端配置信息对所述请求消息进行验证;如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。根据上述方法,服务端对API进行统一管理和配置,并且集中处理客户端对API的请求行为,从而客户端的程序只需针对服务端进行适配,因此,提高了软件***开发效率,降低了软件***的耦合性,提高了API的请求效率。
下面是本申请的装置实施例,提供了一种应用程序接口的管理装置,该装置可用于执行本申请的方法实施例,该装置实施例中未公开的技术细节请参照本申请的方法实施例。
图9是本申请实施例提供的一种应用程序接口的管理装置的示意图。
如图9所示,该装置包括:
接收模块301,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理模块302,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理模块302,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
发送模块303,用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
图10是本申请实施例提供的另一种应用程序接口的管理装置的示意图。
可选的,该装置如图10所示,还包括:存储模块304,用于存储所述客户端配置信息,所述客户端配置信息包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限。
可选的,所述处理模块302,用于根据客户端的身份信息和授权客户端的身份信息,分析客户端是否为授权客户端;所述处理模块302,还用于如果客户端为授权客户端,根据客户端对应的所述授权API列表确定所述目标API是否为所述授权API;所述处理模块302,还用于如果所述目标API为所述授权API,分析客户端对所述目标API的请求流量是否超出所述请求流量上限;所述处理模块302,还用于如果客户端对所述目标API的请求流量未超出所述请求流量上限,则所述请求消息验证通过。
由此,该应用程序接口的管理装置通过实现了对客户端身份的验证,对客户端请求API权限的验证,以及对客户端请求API的流量控制的验证,从而能够对客户端的API请求行为的有效管理。
可选的,所述存储模块304,还用于存储API配置信息,所述API配置信息包括每个所述授权API的统一资源定位符URL地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
可选的,所述发送模块303,用于根据所述API配置信息,将所述实体参数直接发送到所述目标API的所述URL地址;所述接收模块301,用于接收所述目标API根据所述实体参数返回的请求结果数据;所述发送模块303,还用于将所述请求结果数据发送给客户端。
可选的,所述发送模块303,用于将所述请求消息发送到所述异步服务队列;所述异步服务队列用于根据所述请求消息将所述实体参数发送给所述目标API,以及接收所述目标API根据所述实体参数返回的请求结果数据,并将所述请求结果数据发送给客户端。
由以上技术方案可知,本申请实施例提供了一种应用程序接口的管理装置,用于:获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的API;根据预先设置的客户端配置信息对所述请求消息进行验证;如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。由此,该管理装置对API进行统一管理和配置,并且集中处理客户端对API的请求行为,从而客户端的程序只需针对服务端进行适配,因此,提高了软件***开发效率,降低了软件***的耦合性,提高了API的请求效率。
下面是本申请的硬件实施例,提供了一种服务器,该服务器可用于执行本申请的方法实施例,该装置实施例中未公开的技术细节请参照本申请的方法实施例。
图11是本申请实施例提供的一种服务器的示意图。
如图11所示,该服务器包括:
收发器401,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理器402,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理器402,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
所述收发器401,还用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
可选的,该服务器还包括:存储器403,用于存储所述客户端配置信息,所述客户端配置信息包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限;所述存储器403,还用于存储API配置信息,所述API配置信息包括每个所述授权API的统一资源定位符URL地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
由以上技术方案可知,本申请实施例提供了一种服务器,用于:获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的API;根据预先设置的客户端配置信息对所述请求消息进行验证;如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。由此,服务器对API进行统一管理和配置,并且集中处理客户端对API的请求行为,从而客户端的程序只需针对服务端进行适配,因此,提高了软件***开发效率,降低了软件***的耦合性,提高了API的请求效率。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种应用程序接口的管理方法,其特征在于,包括:
获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标应用程序接口(application programming interface,API);
根据预先设置的客户端配置信息对所述请求消息进行验证;
如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
2.根据权利要求1所述的方法,其特征在于,
所述客户端配置信息包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限。
3.根据权利要求2所述的方法,其特征在于,所述根据预先设置的客户端配置信息对所述请求消息进行验证,包括:
根据客户端的身份信息和授权客户端的身份信息,分析客户端是否为授权客户端;
如果客户端为授权客户端,根据客户端对应的所述授权API列表确定所述目标API是否为所述授权API;
如果所述目标API为所述授权API,分析客户端对所述目标API的请求流量是否超出所述请求流量上限;
如果客户端对所述目标API的请求流量未超出所述请求流量上限,则所述请求消息验证通过。
4.根据权利要求2所述的方法,其特征在于,还包括:API配置信息,所述API配置信息包括每个所述授权API的统一资源定位符URL地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
5.根据权利要求4所述的方法,其特征在于,当所述交互方式为同步交互方式时,所述将实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据,包括:
根据所述API配置信息,将所述实体参数直接发送到所述目标API的所述URL地址。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收所述目标API根据所述实体参数返回的请求结果数据,并将所述请求结果数据发送给客户端。
7.根据权利要求4所述的方法,其特征在于,当所述交互方式为异步交互方式时,所述将实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据,包括:
将所述请求消息发送到所述异步服务队列;所述异步服务队列用于根据所述请求消息将所述实体参数发送给所述目标API,以及接收所述目标API根据所述实体参数返回的请求结果数据,并将所述请求结果数据发送给客户端。
8.一种应用程序接口的管理装置,其特征在于,包括:
接收模块,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理模块,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理模块,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
发送模块,用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
9.根据权利要求8所述的装置,其特征在于,还包括:
存储模块,用于存储所述客户端配置信息,所述客户端配置信息包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限。
10.根据权利要求9所述的装置,其特征在于,
所述处理模块,用于根据客户端的身份信息和授权客户端的身份信息,分析客户端是否为授权客户端;
所述处理模块,还用于如果客户端为授权客户端,根据客户端对应的所述授权API列表确定所述目标API是否为所述授权API;
所述处理模块,还用于如果所述目标API为所述授权API,分析客户端对所述目标API的请求流量是否超出所述请求流量上限;
所述处理模块,还用于如果客户端对所述目标API的请求流量未超出所述请求流量上限,则所述请求消息验证通过。
11.根据权利要求9所述的装置,其特征在于,
所述存储模块,还用于存储API配置信息,所述API配置信息包括每个所述授权API的统一资源定位符URL地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
12.根据权利要求11所述的装置,其特征在于,
所述发送模块,用于根据所述API配置信息,将所述实体参数直接发送到所述目标API的所述URL地址;
所述接收模块,用于接收所述目标API根据所述实体参数返回的请求结果数据;
所述发送模块,还用于将所述请求结果数据发送给客户端。
13.根据权利要求11所述的装置,其特征在于,
所述发送模块,用于将所述请求消息发送到所述异步服务队列;所述异步服务队列用于根据所述请求消息将所述实体参数发送给所述目标API,以及接收所述目标API根据所述实体参数返回的请求结果数据,并将所述请求结果数据发送给客户端。
14.一种服务器,其特征在于,包括:
收发器,用于获取客户端发送的请求消息,所述请求消息包含客户端的身份信息和客户端请求的目标API;
处理器,用于根据预先设置的客户端配置信息对所述请求消息进行验证;
所述处理器,还用于如果所述请求消息验证通过,生成请求所述目标API所需的实体参数;
所述收发器,还用于将所述实体参数发送给所述目标API,以使所述目标API根据所述实体参数生成请求结果数据。
15.根据权利要求14所述的服务器,其特征在于,还包括:
存储器,用于存储所述客户端配置信息,所述客户端配置信息包含授权客户端的身份信息、授权API列表,以及每个授权API的请求流量上限;
所述存储器,还用于存储API配置信息,所述API配置信息包括每个所述授权API的统一资源定位符URL地址,每个所述授权API与客户端的数据交互方式,所述数据交互方式包括同步交互方式和异步交互方式;当所述数据交互方式为异步交互方式时,所述授权API与所述客户端通过异步服务队列进行数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284800.3A CN110007950A (zh) | 2019-04-10 | 2019-04-10 | 一种应用程序接口的管理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284800.3A CN110007950A (zh) | 2019-04-10 | 2019-04-10 | 一种应用程序接口的管理方法、装置及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110007950A true CN110007950A (zh) | 2019-07-12 |
Family
ID=67170802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910284800.3A Pending CN110007950A (zh) | 2019-04-10 | 2019-04-10 | 一种应用程序接口的管理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110007950A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858273A (zh) * | 2020-07-02 | 2020-10-30 | 五八有限公司 | 一种处理日志的展示方法及装置 |
CN111988186A (zh) * | 2020-09-02 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 一种配置同步方法及相关装置 |
CN112069437A (zh) * | 2020-08-13 | 2020-12-11 | 北京达佳互联信息技术有限公司 | 网页请求的处理方法、装置、电子设备和存储介质 |
CN112398792A (zh) * | 2019-08-15 | 2021-02-23 | 奇安信安全技术(珠海)有限公司 | 登录的防护方法、客户端、中控管理设备及存储介质 |
CN113766030A (zh) * | 2021-09-13 | 2021-12-07 | 城云科技(中国)有限公司 | 接口常量参数自动入参方法及装置 |
CN114928608A (zh) * | 2022-04-21 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 一种多媒体资源的处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002015029A1 (en) * | 2000-08-14 | 2002-02-21 | I2 Technologies, Inc. | Network application program interface facilitating communication in a distributed network environment |
CN103699824A (zh) * | 2014-01-13 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种调用rest api的方法、***及客户端 |
CN107046482A (zh) * | 2017-04-25 | 2017-08-15 | 厦门集微科技有限公司 | 一种api服务的管理方法及装置 |
CN108830099A (zh) * | 2018-05-04 | 2018-11-16 | 平安科技(深圳)有限公司 | 调用api接口的验证方法、装置、计算机设备和存储介质 |
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用***、方法、装置、电子设备及存储介质 |
-
2019
- 2019-04-10 CN CN201910284800.3A patent/CN110007950A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002015029A1 (en) * | 2000-08-14 | 2002-02-21 | I2 Technologies, Inc. | Network application program interface facilitating communication in a distributed network environment |
CN103699824A (zh) * | 2014-01-13 | 2014-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种调用rest api的方法、***及客户端 |
CN107046482A (zh) * | 2017-04-25 | 2017-08-15 | 厦门集微科技有限公司 | 一种api服务的管理方法及装置 |
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用***、方法、装置、电子设备及存储介质 |
CN108830099A (zh) * | 2018-05-04 | 2018-11-16 | 平安科技(深圳)有限公司 | 调用api接口的验证方法、装置、计算机设备和存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398792A (zh) * | 2019-08-15 | 2021-02-23 | 奇安信安全技术(珠海)有限公司 | 登录的防护方法、客户端、中控管理设备及存储介质 |
CN112398792B (zh) * | 2019-08-15 | 2022-07-05 | 奇安信安全技术(珠海)有限公司 | 登录的防护方法、客户端、中控管理设备及存储介质 |
CN111858273A (zh) * | 2020-07-02 | 2020-10-30 | 五八有限公司 | 一种处理日志的展示方法及装置 |
CN111858273B (zh) * | 2020-07-02 | 2024-06-11 | 五八有限公司 | 一种处理日志的展示方法及装置 |
CN112069437A (zh) * | 2020-08-13 | 2020-12-11 | 北京达佳互联信息技术有限公司 | 网页请求的处理方法、装置、电子设备和存储介质 |
CN112069437B (zh) * | 2020-08-13 | 2024-02-06 | 北京达佳互联信息技术有限公司 | 网页请求的处理方法、装置、电子设备和存储介质 |
CN111988186A (zh) * | 2020-09-02 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 一种配置同步方法及相关装置 |
CN111988186B (zh) * | 2020-09-02 | 2023-04-11 | 深圳壹账通智能科技有限公司 | 一种配置同步方法及相关装置 |
CN113766030A (zh) * | 2021-09-13 | 2021-12-07 | 城云科技(中国)有限公司 | 接口常量参数自动入参方法及装置 |
CN114928608A (zh) * | 2022-04-21 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 一种多媒体资源的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110007950A (zh) | 一种应用程序接口的管理方法、装置及服务器 | |
US7133906B2 (en) | System and method for remotely configuring testing laboratories | |
US10270706B2 (en) | Customizable model for throttling and prioritizing orders in a cloud environment | |
CN109478266A (zh) | 对于数据库供应的资源分配 | |
CN105593835B (zh) | 通过主云服务管理器管理多个二级云 | |
US8843618B2 (en) | Cloud service information overlay | |
US20160306639A1 (en) | Method and apparatus for interactive mobile device guidance | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN107040416B (zh) | 一种基于Cairngorm框架的虚拟数据中心可视化管理方法 | |
CN104246741A (zh) | 编制混合云服务 | |
US20060242276A1 (en) | System and method for remotely configuring testing laboratories | |
CN105917690A (zh) | 基于网络功能虚拟化(nfv)在网络中模块间通信的***、方法和计算机程序 | |
CN104428760A (zh) | 管理多租户云服务 | |
CN107193669A (zh) | 基于混合云或大规模集群的维护接口的***和设计方法 | |
CN110062041A (zh) | 一种基于区块链的iot设备变更的方法及装置 | |
CN113361838A (zh) | 业务风控方法、装置、电子设备和存储介质 | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
CN110476154A (zh) | 用于数据收集的代理服务器设备和方法 | |
CN113568970A (zh) | 应用业务数据管理方法、装置、设备以及存储介质 | |
CN110209984A (zh) | 信息交互方法、电子设备和计算机可读介质 | |
CN113296744A (zh) | 应用开发***及方法 | |
US9137295B2 (en) | Determining audience engagement levels with presentations and providing content based on the engagement levels | |
CN109413212A (zh) | 用于处理请求的方法和装置 | |
CN115622732A (zh) | 基于多应用的应用权限控制方法、***、电子设备及介质 | |
CN112016280B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190712 |
|
RJ01 | Rejection of invention patent application after publication |