CN112395098A - 应用程序接口调用方法、装置、存储介质和电子设备 - Google Patents
应用程序接口调用方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN112395098A CN112395098A CN201910765441.3A CN201910765441A CN112395098A CN 112395098 A CN112395098 A CN 112395098A CN 201910765441 A CN201910765441 A CN 201910765441A CN 112395098 A CN112395098 A CN 112395098A
- Authority
- CN
- China
- Prior art keywords
- target
- api
- interface
- parameter
- incoming
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000004069 differentiation Effects 0.000 claims abstract description 19
- 238000004806 packaging method and process Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 54
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 51
- 238000013507 mapping Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000008961 swelling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开涉及互联网技术领域,具体公开了一种应用程序接口调用方法及装置、存储介质和电子设备。该方法包括:根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。本公开中前端无需关心客户端的API名称差异,仅需调用统一命名接口,通过入口文件确定目标端的目标API,避免了因各端API名称差异导致的前端代码臃肿等问题。
Description
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种应用程序接口调用方法、应用程序接口调用装置、存储介质和电子设备。
背景技术
随着互联网技术的发展,高效的前端技术与流畅的客户端技术结合已成为时代的主流,通常前端通过API(Application Programming Interface,应用程序编程接口)访问后端数据,且无需调用源代码,如何使前端快速高效地完成接口调用是影响业务速度的重要因素之一。
相关技术中,不同客户端的API编写方法和格式、所需参数量和日志传递等存在差异,不同开发人员接口设计风格可能不统一,因此前端需要根据不同端API进行区别调用,导致前端代码的逻辑判断臃肿,并且多端API的维护成本高,在客户端不断迭代的情况下,如何保障前端只关注上层业务,屏蔽底层接口兼容问题成为亟待解决问题。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种应用程序接口调用方法及装置、计算机存储介质和电子设备,进而至少在一定程度上避免了前端根据不同客户端端区别调用API导致的前端代码逻辑判断臃肿、多端API维护成本高等问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种应用程序接口调用方法,所述方法包括:根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
在本公开的一种示例性实施例中,所述将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数,包括:将各所述JS文件中功能相同的API的命名进行统一,以获得与所述接口功能对应的统一接口名称。
在本公开的一种示例性实施例中,所述方法还包括:获取所述统一接口名称对应的各所述客户端的参数数量,并将最大参数数量对应的客户端参数作为所述传入参数。
在本公开的一种示例性实施例中,所述响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API,包括:通过所述入口文件判断所述访问请求对应的端环境,以确定所述目标客户端;获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,以通过传入所述目标传入参数调用所述目标API。
在本公开的一种示例性实施例中,在所述将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数之后,所述方法还包括:按照预设的数据格式,将与所述JS文件中API具有映射关系的方法函数、所述统一接口名称及所述传入参数的描述信息进行处理,以生成所述JS文件中API的说明文档。
在本公开的一种示例性实施例中,所述获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,还包括:根据所述目标API对应的说明文档,从所述目标JS文件中获取与所述目标API对应的前端调用代码。
在本公开的一种示例性实施例中,所述目标传入参数包含于所述传入参数;所述获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,包括:根据所述目标API对应的说明文档,从所述传入参数中筛选出所述目标传入参数。
在本公开的一种示例性实施例中,所述方法还包括:引入所述入口文件至前端页面。
根据本公开的一个方面,提供一种应用程序接口调用装置,所述装置包括:封装模块,用于根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;任务处理模块,用于将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;调用模块,用于响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
根据本公开的一个方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的应用程序接口调用方法。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的应用程序接口调用方法。
本公开的示例性实施方式中的应用程序接口调用方法,在将各端API根据客户端类型分组封装,并按照功能将API进行统一命名处理后,通过响应包含统一接口名称的访问请求,使入口文件确定与该访问请求对应的目标客户端下的目标API及目标传入参数,以实现对目标API的调用。
一方面,将API按照客户端类型分组封装,方便了各端对API的逻辑处理,也避免了因修改、问题定位及API维护对彼此端造成的影响,维护成本低;另一方面,根据接口功能对API进行统一命名处理和参数差异化处理,前端在调用目标客户端的目标API时,无需关心各端API的差异,仅通过调用统一命名的接口函数,而确定目标客户端和目标API的逻辑交由入口文件,避免了前端因各端名称差异导致的代码逻辑判断臃肿、维护成本高等问题,一定程度上也提高了业务处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了本公开的示例性实施方式的应用程序接口调用方法的流程图;
图2示出了本公开的示例性实施方式的对JS文件中的API根据接口功能进行参数差异化处理的流程图;
图3示出了本公开的示例性实施方式的前端调用目标API的流程图;
图4示出了web前端H5页面通过调用API接口的方式与客户端进行交互的系统架构图;
图5示出了本公开的示例性实施方式的应用程序接口调用装置的结构示意图;
图6示出了本公开的示例性实施方式的存储介质的示意图;以及
图7示出了本公开的示例性实施方式的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
现如今高效的H5(超文本5.0)前端技术与流畅的客户端技术结合已成为时代的主流,在客户端不断迭代的情况下,如何保障H5前端只关注上层业务,屏蔽底层接口兼容问题实现H5的快速开发、快速调整逐渐成为关注重点。在本领域的相关技术中,不同客户端API写法、所需参数量存在差异,各端特有的格式和日志传递方式,使得前端要根据不同端的API进行区别调用,导致前端代码的逻辑判断臃肿,维护成本高;同时,各端API无区别存储导致API维护困难,问题定位难,一定程度上也难以避免各端API修改对其它端的影响作用。
基于此,在本公开的示例性实施方式中,首先提供了一种应用程序接口调用方法。图1示出了应用程序接口调用方法的流程图,参考图1,该方法包括以下步骤:
步骤S110:根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;
步骤S120:将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;
步骤S130:响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
根据本示例性实施方式中的应用程序接口调用方法,一方面,将API按照客户端类型分组封装,方便了各端对API的逻辑处理,也避免了因修改、定位和维护API对彼此造成的影响,维护成本低;另一方面,根据接口功能对API进行统一命名处理和参数差异化处理,前端在调用目标客户端的目标API时,无需关心各端API的差异,仅通过调用统一命名的接口函数,而确定目标客户端和目标API的逻辑交由入口文件,避免了前端因各端名称差异导致的代码臃肿、维护成本高等问题,一定程度上也提高了前端的处理效率。
下面将结合图1对本公开示例性实施方式中的应用程序接口调用方法进行详细阐述:
在步骤S110中,根据客户端类型将API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件。
在本公开的示例性实施方式中,客户端类型包括但不限于移动端(Andriod、IOS),PC端(Personal Computer,个人计算机)和web端(互联网前端);应用程序编程接口API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而无需访问源代码或理解内部工作机制的细节;JS文件为直译式脚本语言JavaScript文件。将相同端的API封装在同一JS文件中,实现各端API的区别封装,方便各端特有的API逻辑处理,也方便问题定位及降低维护成本。例如,当对移动端中的API进行修改时,可针对该端对应的JS文件进行修改,而不影响其它端的JS文件。入口文件例如可以为SDK.js文件,其中SDK.js是用于为特定的软件包、软件框架、硬件平台及操作系统等建立应用软件的开发工具的集合;将各端封装好的JS文件导入至一个入口文件,使web前端的SDK.js规范化,开发人员仅需维护一个入口文件,降低维护成本。
在步骤S120中,将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数。
在本公开的示例性实施方式中,将所有端的JS文件中的API进行整体归类处理,即将各JS文件中功能相同的API的命名进行统一,以获得与接口功能对应的统一接口名称。举例而言,时间API在移动端提供给SDK的名称为mtime,PC端提供给SDK的名称为ptime,Web端提供给SDK的名称为wtime,那么将各端的时间API统一命名为clienttime,当业务端调用时间API时,则调用与时间对应的统一接口名称;类似的,地点、跳转、获取用户信息等API在各端提供给SDK的名称也存在差异,通过对各端对应于相同接口功能的API的名称进行统一命名处理,以获得与接口功能对应的统一接口名称,本公开对此不再一一列举。
进一步的,对相同接口功能下各端API的参数进行差异化处理,以获得统一接口名称对应的传入参数。图2示出了对JS文件中的API根据接口功能进行参数差异化处理的流程图,如图2所示该过程包括如下步骤:在步骤S210中,获取统一接口名称对应的各客户端的参数数量;在步骤S220中,将最大参数数量对应的客户端参数作为传入参数。举例而言,对于时间API,移动端需要参数(uid,callback),在PC端需要参数(uid,callback),web端需要参数(callback),则将(uid,callback)确定为传入参数,所有端(业务端)均传入该两个传入参数,以使各客户端根据自身需要选择相应的参数传入。基于此,确定了统一接口名称对应的传入参数,当前端需要调用时间API时,则通过调用统一接口名称,并传入该传入参数,使前端只关注上层业务,屏蔽底层接口兼容问题,降低了前端代码的判断逻辑复杂性,进而提高前端业务效率。
在将JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与接口功能对应的统一接口名称及传入参数之后,还可以根据预设的数据格式,将与JS文件中API具有映射关系的方法函数、统一接口名称及传入参数的描述信息进行处理,以生成JS文件中API的说明文档。其中,记录API的描述信息的文档称为API的说明文档,其中说明文档包括但不限于调用方法、方法名称、API功能、参数信息、方法函数、数据输入/输出格式等的描述信息,预设的数据格式主要为现有API的说明文档所支持的数据格式,通过生成API的说明文档,可有效保证JS文件中的API和说明文档之间的一致性,以便于成功调用到目标API。此外,还需要将上述入口文件引入至前端页面,以便后续前端页面基于该入口文件成功调用目标API。
在步骤S130中,响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
在本公开的示例性实施方式中,前端响应包含统一接口名称的访问请求,例如响应用户操作或执行网页本身业务逻辑时,通过入口文件确定与访问请求对应的目标客户端下的目标API及目标传入参数,以通过传入该目标传入参数调用目标API。具体而言,图3示出了前端调用目标API的流程图,如图3所示,该过程包括如下步骤:
在步骤S310中,通过入口文件判断访问请求对应的端环境,以确定目标客户端。
在本公开的示例性实施方式中,当前端调用统一接口名称对应的API时,通过入口文件判断访问请求对应的端环境,以调用目标端环境下的目标API,基于此,前端在调用统一接口名称时,便可自动调动目标客户端下的目标API,无需在前端进行各端API的区别调用,将判断过程交予入口文件,减轻了前端代码的判断逻辑。在可选的实施例中,可以通过判断浏览器的UA(UserAgent,用户代理),通过正则匹配来判断端环境,当然,还可以根据其它方法判断访问请求对应的端环境,例如媒体查询,等等,本公开对此不做特殊限定。
在步骤S320中,获取与目标客户端对应的目标JS文件中的目标API以及目标API的目标传入参数,以通过传入该目标传入参数调用目标API。
在本公开的示例性实施方式中,在获取目标客户端后,确定与访问请求对应的目标客户端下的目标JS文件,在可选的实施例中,可以基于目标API对应的说明文档,从目标JS文件中获取与该目标API对应的前端调用代码,其中前端调用代码是预先根据与各API具有映射关系的方法函数的描述信息生成的;另外,从传入参数中筛选出目标传入参数,以通过出入目标传入参数调用该目标API,其中,目标传入参数包含于传入参数;在可选的实施例中,可以根据目标API对应的说明文档确定目标API所需参数,并从传入参数中筛选出目标传入参数。
举例而言,对于时间API,当所有端传入的参数为(uid,callback),并且根据端环境确定的目标客户端为web端,因此根据说明文档可知web端所需的参数为(callback),那么将(callback)作为目标传入参数传入即可。基于API的说明文档,能准确确定目标API所需参数,并实现目标API的准确调用,此外,还可以将该说明文档作为定位问题参考等,本公开对此不再赘述。
图4示出了web前端(前端页面)H5页面通过调用API接口的方式与客户端进行交互的系统架构图,下面以web前端H5页面与各直播客户端通讯获取数据的过程为例,对本公开的应用程序接口调用进行阐述:
首先,在web前端H5页面引入SDK.js文件,同时也引入H5本身业务逻辑的js文件;然后,在H5页面执行业务逻辑需要获取用户信息时,则触发入口文件SDK.js提供的方法(例如gerUserInfo),此时,入口文件判断业务端的端环境,以确定目标客户端(例如为PC端)及目标客户端对应的目标JS文件下的目标API,则相应的执行PC端的目标API通道,并根据PC端确定所需的目标传入参数,以传入目标传入参数实现对PC端的目标API的调用;另外,还可以传入回调参数(例如callback)方便数据的回调。相应的,当客户端接收到该方法(gerUserInfo)后,将对应的信息通过回调参数进行回调,H5页面接收到该信息后进行用户信息的展示。
通过上述过程,业务端无需关系其它端的API命名,仅通过直接调用统一接口命名,再可通过SDK.js的处理调用对应端的目标API,不仅可以实现API的准确调用,也避免了因前端API名称差异导致的前端代码的判断逻辑臃肿,一定程度上使前端业务处理效率提高;同时使将前端的SDK.js规范化处理,开发人员仅需维护一个SDK.js文件,降低了维护成本。
综上所述,将API按照客户端类型分组封装,方便了各端对API的逻辑处理,也避免了因修改、定位和维护API对彼此造成的影响,维护成本低;同时,根据接口功能对API进行统一命名处理和参数差异化处理,前端在调用目标客户端的目标API时,无需关心各端API的差异,仅通过调用统一命名的接口函数,而确定目标客户端和目标API的逻辑交由入口文件,避免了前端因各端名称差异导致的代码臃肿、维护成本高等问题,一定程度上也提高了前端的处理效率。
此外,在本公开的示例性实施方式中,还提供了一种应用程序接口调用装置。参考图5所示,该装置500包括封装模块510、任务处理模块520和调用模块530。具体地,
封装模块510,用于根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;
任务处理模块520,用于将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;
调用模块530,用于响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
在本公开的一示例性实施例中,所述任务处理模块可以包括统一命名单元,用于将各所述JS文件中功能相同的API的命名进行统一,以获得与所述接口功能对应的统一接口名称。
在本公开的一示例性实施例中,所述任务处理模块还可以包括参数差异处理单元,用于获取所述统一接口名称对应的各所述客户端的参数数量,并将最大参数数量对应的客户端参数作为所述传入参数。
在本公开的一示例性实施例中,所述调用模块可以包括判断单元,用于通过所述入口文件判断所述访问请求对应的端环境,以确定所述目标客户端;获取单元,用于获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,以通过传入所述目标传入参数调用所述目标API。
在本公开的一示例性实施例中,所述装置还可以包括信息处理模块,用于按照预设的数据格式,将与所述JS文件中API具有映射关系的方法函数、所述统一接口名称及所述传入参数的描述信息进行处理,以生成所述JS文件中API的说明文档。
在本公开的一示例性实施例中,调用模块还可以包括代码调用单元,用于根据所述目标API对应的说明文档,从所述目标JS文件中获取与所述目标API对应的前端调用代码。
在本公开的一示例性实施例中,所述目标传入参数包含于所述传入参数;所述调用模块还可以包括筛选单元,用于根据所述目标API对应的说明文档,从所述传入参数中筛选出所述目标传入参数。
在本公开的一示例性实施例中,所述装置还可以包括引用模块,用于引入所述入口文件至前端页面。
上述装置中各模块/单元的具体细节在方法部分的实施方式中已经详细说明,因此不再赘述。
应当注意,尽管在上文详细描述中提及了应用程序接口调用装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图6所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本公开的这种实施例的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
存储单元7201可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (11)
1.一种应用程序接口调用方法,其特征在于,包括:
根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;
将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;
响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
2.根据权利要求1所述的应用程序接口调用方法,其特征在于,所述将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数,包括:
将各所述JS文件中功能相同的API的命名进行统一,以获得与所述接口功能对应的统一接口名称。
3.根据权利要求2所述的应用程序接口调用方法,其特征在于,所述方法还包括:
获取所述统一接口名称对应的各所述客户端的参数数量,并将最大参数数量对应的客户端参数作为所述传入参数。
4.根据权利要求1所述的应用程序接口调用方法,其特征在于,所述响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API,包括:
通过所述入口文件判断所述访问请求对应的端环境,以确定所述目标客户端;
获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,以通过传入所述目标传入参数调用所述目标API。
5.根据权利要求4所述的应用程序接口调用方法,其特征在于,在所述将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数之后,所述方法还包括:
按照预设的数据格式,将与所述JS文件中API具有映射关系的方法函数、所述统一接口名称及所述传入参数的描述信息进行处理,以生成所述JS文件中API的说明文档。
6.根据权利要求5所述的应用程序接口调用方法,其特征在于,所述获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,还包括:
根据所述目标API对应的说明文档,从所述目标JS文件中获取与所述目标API对应的前端调用代码。
7.根据权利要求5所述的应用程序接口调用方法,其特征在于,所述目标传入参数包含于所述传入参数;
所述获取与所述目标客户端对应的目标JS文件中的目标API以及所述目标API的目标传入参数,包括:
根据所述目标API对应的说明文档,从所述传入参数中筛选出所述目标传入参数。
8.根据权利要求1至7任一项所述的应用程序接口调用方法,其特征在于,所述方法还包括:引入所述入口文件至前端页面。
9.一种应用程序接口调用装置,其特征在于,所述装置包括:
封装模块,用于根据客户端类型将应用程序接口API分组封装以获得多个JS文件,并根据所述多个JS文件形成一入口文件;
任务处理模块,用于将所述JS文件中的API根据接口功能进行统一命名处理和参数差异化处理,以获得与所述接口功能对应的统一接口名称及传入参数;
调用模块,用于响应包含所述统一接口名称的访问请求,通过所述入口文件确定与所述访问请求对应的目标客户端的目标API及目标传入参数,以通过传入所述目标传入参数调用所述目标API。
10.一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至8中任一项所述的应用程序接口调用方法。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8中任一项所述的应用程序接口调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765441.3A CN112395098B (zh) | 2019-08-19 | 2019-08-19 | 应用程序接口调用方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765441.3A CN112395098B (zh) | 2019-08-19 | 2019-08-19 | 应用程序接口调用方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395098A true CN112395098A (zh) | 2021-02-23 |
CN112395098B CN112395098B (zh) | 2024-03-15 |
Family
ID=74603522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910765441.3A Active CN112395098B (zh) | 2019-08-19 | 2019-08-19 | 应用程序接口调用方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395098B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535832A (zh) * | 2021-06-10 | 2021-10-22 | 杭州未名信科科技有限公司 | 云服务数据的获取方法、装置、电子设备及介质 |
CN113656115A (zh) * | 2021-07-27 | 2021-11-16 | 厦门雅基软件有限公司 | 接口调用系统、方法及电子设备 |
CN113918308A (zh) * | 2021-11-05 | 2022-01-11 | 杭州安恒信息技术股份有限公司 | 接口调用方法、系统、可读存储介质及计算机设备 |
CN114416084A (zh) * | 2021-12-31 | 2022-04-29 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571934A (zh) * | 2011-12-22 | 2012-07-11 | 深圳华强电子交易网络有限公司 | 一种web页面数据绑定的方法 |
US20140053166A1 (en) * | 2012-08-20 | 2014-02-20 | Comcast Cable Communications, Llc | Adaptable Application Programming Interfaces and Specification Of Same |
CN105872083A (zh) * | 2016-05-19 | 2016-08-17 | 湖州微未信息科技有限公司 | 一种支持不同类型客户端访问服务器的方法、服务器及系统 |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
CN106528765A (zh) * | 2016-11-03 | 2017-03-22 | 用友网络科技股份有限公司 | 主题分析的发布与集成方法及装置 |
US20180004767A1 (en) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc. | REST APIs for Data Services |
CN108647014A (zh) * | 2018-05-08 | 2018-10-12 | 山东汇贸电子口岸有限公司 | 一种前端与客户端混合交互的分层设计方法及系统 |
CN108874557A (zh) * | 2018-05-24 | 2018-11-23 | 广东睿江云计算股份有限公司 | 一种前端接口处理方法及系统 |
CN109117174A (zh) * | 2018-07-04 | 2019-01-01 | 北京德惠众合信息技术有限公司 | 兼容不同引擎的前端页面的系统及方法 |
CN109683892A (zh) * | 2018-12-11 | 2019-04-26 | 北京城市网邻信息技术有限公司 | 页面展示方法、装置、计算机设备及存储介质 |
CN109933362A (zh) * | 2019-01-24 | 2019-06-25 | 优信拍(北京)信息科技有限公司 | 一种平台功能调用方法、系统及设备 |
-
2019
- 2019-08-19 CN CN201910765441.3A patent/CN112395098B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571934A (zh) * | 2011-12-22 | 2012-07-11 | 深圳华强电子交易网络有限公司 | 一种web页面数据绑定的方法 |
US20140053166A1 (en) * | 2012-08-20 | 2014-02-20 | Comcast Cable Communications, Llc | Adaptable Application Programming Interfaces and Specification Of Same |
CN105872083A (zh) * | 2016-05-19 | 2016-08-17 | 湖州微未信息科技有限公司 | 一种支持不同类型客户端访问服务器的方法、服务器及系统 |
US20180004767A1 (en) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc. | REST APIs for Data Services |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
CN106528765A (zh) * | 2016-11-03 | 2017-03-22 | 用友网络科技股份有限公司 | 主题分析的发布与集成方法及装置 |
CN108647014A (zh) * | 2018-05-08 | 2018-10-12 | 山东汇贸电子口岸有限公司 | 一种前端与客户端混合交互的分层设计方法及系统 |
CN108874557A (zh) * | 2018-05-24 | 2018-11-23 | 广东睿江云计算股份有限公司 | 一种前端接口处理方法及系统 |
CN109117174A (zh) * | 2018-07-04 | 2019-01-01 | 北京德惠众合信息技术有限公司 | 兼容不同引擎的前端页面的系统及方法 |
CN109683892A (zh) * | 2018-12-11 | 2019-04-26 | 北京城市网邻信息技术有限公司 | 页面展示方法、装置、计算机设备及存储介质 |
CN109933362A (zh) * | 2019-01-24 | 2019-06-25 | 优信拍(北京)信息科技有限公司 | 一种平台功能调用方法、系统及设备 |
Non-Patent Citations (3)
Title |
---|
MR柳上原: "reactNative跨平台app开发经验分享-跨平台开发兼容", pages 1 - 12, Retrieved from the Internet <URL:《https://www.jianshu.com/p/611b36a34683》> * |
陈源恩;陈志伟;曾文华;: "脚本语言在核磁共振谱仪软件系统中的应用", 福建电脑, no. 01, pages 3 - 4 * |
香华冠;冯刚;: "移动富媒体客户端的研究与设计", 计算机技术与发展, no. 07, pages 168 - 171 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535832A (zh) * | 2021-06-10 | 2021-10-22 | 杭州未名信科科技有限公司 | 云服务数据的获取方法、装置、电子设备及介质 |
CN113656115A (zh) * | 2021-07-27 | 2021-11-16 | 厦门雅基软件有限公司 | 接口调用系统、方法及电子设备 |
CN113656115B (zh) * | 2021-07-27 | 2023-10-27 | 厦门雅基软件有限公司 | 接口调用系统、方法及电子设备 |
CN113918308A (zh) * | 2021-11-05 | 2022-01-11 | 杭州安恒信息技术股份有限公司 | 接口调用方法、系统、可读存储介质及计算机设备 |
CN114416084A (zh) * | 2021-12-31 | 2022-04-29 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112395098B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112395098B (zh) | 应用程序接口调用方法、装置、存储介质和电子设备 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
CN110489323B (zh) | 可视化的rpc api调试方法、装置、介质和设备 | |
CN109873735B (zh) | H5页面的性能测试方法、装置和计算机设备 | |
CN111581555B (zh) | 一种文档加载方法、装置、设备及存储介质 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN110888794B (zh) | 接口测试方法和装置 | |
CN110598135A (zh) | 网络请求处理方法、装置、计算机可读介质及电子设备 | |
CN110795181A (zh) | 基于跳转协议的应用程序界面展示方法、装置及电子设备 | |
CN112395027A (zh) | 微件界面生成方法、装置、存储介质与电子设备 | |
JP2021163475A (ja) | ログベースのマッシュアップのコード生成 | |
CN110188308B (zh) | 客户端自动打点上报方法、存储介质、设备及系统 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN116561013B (zh) | 基于目标服务框架的测试方法、装置、电子设备和介质 | |
CN112445691A (zh) | 非侵入式智能合约性能检测方法和装置 | |
CN109408057B (zh) | 自动生成代码的方法、装置、介质和计算设备 | |
CN116781586A (zh) | 一种gRPC流量解析方法、装置、设备及介质 | |
CN117112393A (zh) | 应用程序的调试方法、装置、电子设备和存储介质 | |
CN110647331A (zh) | 开发工具的获取方法及装置、存储介质、电子设备 | |
CN111767111B (zh) | 页面数据处理方法及装置、电子设备和存储介质 | |
CN114237926A (zh) | 多平台交互方法、装置、设备、存储介质及计算机程序产品 | |
CN113377376A (zh) | 数据包生成方法、数据包生成装置、电子设备及存储介质 | |
CN108089852B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |