CN108829467B - 第三方平台对接实现方法、装置、设备及存储介质 - Google Patents

第三方平台对接实现方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108829467B
CN108829467B CN201810402718.1A CN201810402718A CN108829467B CN 108829467 B CN108829467 B CN 108829467B CN 201810402718 A CN201810402718 A CN 201810402718A CN 108829467 B CN108829467 B CN 108829467B
Authority
CN
China
Prior art keywords
party platform
outputting
request
file
api
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
Application number
CN201810402718.1A
Other languages
English (en)
Other versions
CN108829467A (zh
Inventor
魏超
罗洪鹏
姚超创
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bee Assistant Co Ltd
Original Assignee
Bee Assistant Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bee Assistant Co Ltd filed Critical Bee Assistant Co Ltd
Priority to CN201810402718.1A priority Critical patent/CN108829467B/zh
Publication of CN108829467A publication Critical patent/CN108829467A/zh
Application granted granted Critical
Publication of CN108829467B publication Critical patent/CN108829467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种第三方平台对接实现方法、装置、设备及存储介质,方法包括:通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体以及变量;当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。本发明可实现简单、错误率低、高扩展以及维护成本低的对接到第三方平台的API接口。

Description

第三方平台对接实现方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种第三方平台对接实现方法、装置、设备及存储介质。
背景技术
通常情况下对接第三方平台开放的SOAP服务或API接口需要开发人员编写程序实现对接。这些SOAP服务或API接口大体上又分为请求头,URL参数,请求主体及响应,服务配置对接系统找出这种规律,通过内置解析引擎可通过在界面上简单配置即实现对接任意第三方平台提供的SOAP服务和API接口。
如图1所示,现有技术在调用第三方SOAP服务或API接口时需要开发人员编写JAVA代码来实现调用或接收第三方回调参数(图中InterfaceA,InterfaceCallbackA需要开发者编写Java代码实现)。由于不同接口需要编写不同代码来实现。如此,随着接入的第三方接口不断增多时,图1中Interface,InterfaceCallback会不断增加,随之带来如下问题:
1.错误率高(在参数组装或加密签名时一个参数的位置可能就会引发错误);
2.对接缓慢(由于不同接口传递的参数和加密方式都不同需要开发者根据不同接口文档编码实现);
3.重复开发(代码重复);
4.频繁布署(发布接口需重启服务器,集群环境下需每个节点逐个重启);
5.上游接口参数改动需重新修改代码;
6.扩展性低(添加功能需逐个接口去修改);
7.维护困难。
发明内容
针对上述问题,本发明的目的在于提供一种第三方平台对接实现方法、装置、设备及存储介质,可实现简单、错误率低、高扩展以及维护成本低的对接到第三方平台。
本发明提供了一种第三方平台对接实现方法,包括:
通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数;
当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;
通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。
优选地,还包括:
通过执行引擎接收第三方平台通过回调方式返回的调用结果,并将所述调用结果返回给所述客户端。
优选地,所述通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件具体包括:
通过标记区分配置信息在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量、表达式以及函数
对各个标记中的内容进行编译,并在编译完成后以规范的数据结构存储在生成的编译文件中;
将编译通过后的编辑文件序列化后生成的JAVA对象以二进制文件存储并输出。
优选地,所述通过执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,具体包括:
当所述执行引擎读取到用于表示请求头的标记时,将该标记下的内容设置为请求头信息;
当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数;
至少根据所述请求头信息以及所述输出列表输出标准的HTTP请求至所述第三方平台。
优选地,所述当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数具体包括:
当读取到的列表的数据为一串字符时,输出字符串到缓冲中;
当读取到列表的数据为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中;
当读取到列表的数据为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;
在遍历列表中的数据后,将缓冲中的数据统一输出作为请求第三方平台的API接口时的URL参数。
优选地,所述当用户调用第三方平台的API接口时,传入编译好的编辑文件给执行引擎并初始化上下文具体为:
当用户调用第三方平台的API接口时,传入编译好的编辑文件给执行引擎并初始化上下文;其中,将接口调用地址、调用接口时的token传入上下文进行初始化供表达式引用。
优选地,以[head]、[param]、[body]、[map]标记来区分在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量;表达式约定${}可引用任意变量,函数约定为md5(args);其中,md5为函数名,args变量;其中,[param]标记与[body]标记至少出现一个。
本发明实施例还提供了一种第三方平台对接实现装置,包括:
编译单元,用于通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数;
编辑文件传入单元,用于当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;
执行单元,用于通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。
本发明实施例还提供了一种第三方平台对接实现设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的第三方平台对接实现方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的第三方平台对接实现方法。
综上所述,本发明实施例提供的第三方平台对接实现方法、装置、设备以及计算机可读存储介质,通过编译引擎对符合预设的约定标准的配置信息进行编辑生成编译文件,再由执行引擎根据预定义流程解析执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。本实施例屏弃了编写JAVA代码的对接方式采用线上配置的方式来调用API接口,并具有如下优点:
1、对接快(只需简单学习语义即可对接API接口,以前技术需要5个小时左右现在只需1个小时左右);
2、热布署(配置完成后即可使用无需重启服务器);
3、错误率低;
4、松耦合,高扩展(与第三方API接口关联减少);
5、提供52种函数以支撑第三方API接口的多样性(接口覆盖率达到95%);
6、维护成本低。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的与第三方服务实现对接的示意图。
图2是本发明第一实施例提供的第三方平台对接实现方法的流程示意图。
图3是本发明第一实施例提供的函数结构示意图。
图4是本发明第二实施例提供的第三方平台对接实现装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2,本发明第一实施例提供了一种第三方平台对接实现方法,其可由第三方平台对接实现设备(以下简称设备)来执行,并至少包括如下步骤:
S101,通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数。
在本实施例中,所述设备可为笔记本电脑、台式计算机以及其他具有计算能力的设备,本发明不做具体显示。
在本实施例中,通过预先制定的一套语义标准、函数、关键字约定,所述设备内的编译引擎可对用户输入的配置信息(可以是一个文件或一串字符)进行预编译输出编译文件。其中,根据预设的约定标准,配置信息根据标识分为:
1)[head]:请求头
2)[body]:使用post请求时对应请求主体
3)[param]:URL参数
4)[map]:变量,可用于其它函数引用
5)表达式、函数
其中[param]与[body]至少出现一个;其它标记为可选。
其中:表达式约定${}可引用任意变量,函数约定为md5(args)。
当然,需要说明的是,标记的具体形式和内容可以根据实际的需要进行更改,而不仅限于上述的形式,这些方案均在本发明的保护范围之内。
函数结构如图3所示。
编译引擎中内置函数如下表所示:
Figure BDA0001646106320000061
Figure BDA0001646106320000071
编译通过后的编译文件序列化后生成的JAVA对象以二进制文件存储,其存储结构为:
object{
head:[0,….]为一个列表,列表内容可以是一个表达式或函数对应[head]标签
param:[0,….]为一个列表,列表内容可以是一个表达式或函数对应[param]
body:[0….]为一个列表,列表内容可以是一个表达式或函数对应[body]标签
variables:为一个列表,列表内容可以是一个表达式或函数对应[body]标签
requestMethod:请求方式可以是GET,POST,STREAM,MIME
statusField:””为一个字符接口返回的状态字段
successValue:””为一个字符接口返回的成功状态值
....
}
以下以一个具体的例子来详述本实施例的编译过程:
例1:假设用户输入的配置信息为:
[head]
Content-Type:text/html;charset=UTF-8
[param]
username=${userName}&password=${password}&sign=md5(abc)
则表示请求头的内容为:
Content-Type:text/html;charset=UTF-8;
URL参数的内容为:
username=${userName}&password=${password}&sign=md5(abc)。
此时,根据规范的数据结构生成的编译文件为:
object{
head:{“Content-Type”:list[0]=”text/html;charset=UTF-8”},
param:list[0]=“username=”
list[1]=expression{expression:”${username}”,name:”userName”}
list[2]=”&password=”
list[3]=expression{expression:”${password}”,name:”password”}
list[4]=“&sign=”
list[5]=function{funName:”md5”,valueExpression:”md5(abc)”}
body:null
variables:null
requestMethod:”GET”
statusFied:”status”
successValue
}
S102,当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文。
在本实施例中,当用户调用第三方平台的API接口,传入编译好的编辑文件给执行引擎并初始化上下文。例如可以将接口调用地址,调用接口时的token传入上下文进行初始化供表达式引用。
S103,通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。
具体地,步骤S103包括:
首先,当所述执行引擎读取到用于表示请求头的标记时,将该标记下的内容设置为请求头信息。
然后,当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数。
其中,具体地:
当读取到的列表的数据为一串字符时,输出字符串到缓冲中;
当读取到列表的数据为一个表达式时,调用表达式处理流程,在执行引擎上下文中查找表达式中引用的变量,输出所述变量到缓冲中;
当读取到列表的数据为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;
在遍历列表中的数据后,将缓冲中的数据统一输出作为请求第三方平台的API接口时的URL参数。
以上述提到的例1进行说明:
执行引擎读取到head时,设置请求头信息为Context-Type=text/html;charset=UTF-8;
读取到[param]为一个列表时,根据列表中存储的数据递归输出。
其中,当读取到list[0]为一串字符时,直接输出username=到缓冲中;
读取到list[1]为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中。如初始上下文时传入username为test则输出test到缓冲中;
读取到list[2]为一串字符时直接输出&password=到缓冲中;
读取到list[3]为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中。如初始上下文时传入password为123则输出123到缓冲中;
读取到list[4]为一串字符时直接输出&sign=到缓冲中;
读取到list[5]为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;这里调用了一个md5函数会输出md5加密后的32位字符串900150983cd24fb0d6963f7d28e17f72到缓冲中;
至此解析执行结束再把缓冲中的数据统一输出作为请求API接口时的URL参数,即:
username=test&password=123&sign=900150983cd24fb0d6963f7d28e17f72。
最后,至少根据所述请求头信息以及生成的URL参数输出标准的HTTP请求至所述第三方平台。
在本发明实施例中,在得到请求头信息以及所述URL参数后,即可以输出标准的HTTP请求至所述第三方平台,实现调用第三方API接口。第三方平台再通过回调方式通知执行引擎调用结果,执行引擎解析调用结果之后返回给客户端。
综上所述,本发明实施例提供的第三方平台对接实现方法,通过编译引擎对符合预设的约定标准的配置信息进行编辑生成编译文件,再由执行引擎根据预定义流程解析执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。本实施例屏弃了编写JAVA代码的对接方式采用线上配置的方式来调用API接口,并具有如下优点:
1、对接快(只需简单学习语义即可对接API接口,以前技术需要5个小时左右现在只需1个小时左右);
2、热布署(配置完成后即可使用无需重启服务器);
3、错误率低;
4、松耦合,高扩展(与第三方API接口关联减少);
5、提供52种函数以支撑第三方API接口的多样性(接口覆盖率达到95%);
6、维护成本低。
请参阅图4,本发明第二实施例提供了一种第三方平台对接实现装置,其包括:
编译单元10,用于通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数;
编辑文件传入单元20,用于当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;
执行单元30,用于通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口。
优选地,还包括:
调用结果接收单元,用于通过执行引擎接收第三方平台通过回调方式返回的调用结果,并将所述调用结果返回给所述客户端。
优选地,所述编译单元10具体包括:
标记模块,用于通过标记区分配置信息在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量,表达式以及函数;
编译模块,用于对各个标记中的内容进行编译,并在编译完成后以规范的数据结构存储在生成的编译文件中;
输出模块,用于将编译通过后的编辑文件序列化后生成的JAVA对象以二进制文件存储并输出。
优选地,所述执行单元30具体包括:
请求头读取模块,用于当所述执行引擎读取到用于表示请求头的标记时,将该标记下的内容设置为请求头信息;
URL参数生成模块,用于当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数;
HTTP请求输出模块,用于至少根据所述请求头信息以及生成的URL参数输出标准的HTTP请求至所述第三方平台。
优选地,URL参数生成模块具体用于:
当读取到的列表的数据为一串字符时,输出字符串到缓冲中;
当读取到列表的数据为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中;
当读取到列表的数据为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;
在遍历列表中的数据后,将缓冲中的数据统一输出作为请求第三方平台的API接口时的URL参数。
优选地,所述编辑文件传入单元20具体用于:
当用户调用第三方平台的API接口时,传入编译好的编辑文件给执行引擎并初始化上下文;其中,将接口调用地址、调用接口时的token传入上下文进行初始化供表达式引用。
优选地,以[head]、[param]、[body]、[map]标记来区分在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量;表达式约定${}可引用任意变量,函数约定为md5(args);其中,md5为函数名,args变量;其中,[param]标记与[body]标记至少出现一个。
本发明第三实施例提供的第三方平台对接实现设备。该实施例的第三方平台对接实现设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如第三方平台对接实现程序。所述处理器执行所述计算机程序时实现上述各个第三方平台对接实现方法实施例中的步骤,例如图1所示的步骤S101。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能0。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述第三方平台对接实现设备中的执行过程。
所述第三方平台对接实现设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述第三方平台对接实现设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述部件仅仅是第三方平台对接实现设备的示例,并不构成对第三方平台对接实现设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述第三方平台对接实现设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述第三方平台对接实现设备的控制中心,利用各种接口和线路连接整个第三方平台对接实现设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述第三方平台对接实现设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述第三方平台对接实现设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种第三方平台对接实现方法,其特征在于,包括:
通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数;
当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;
通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口;其中,所述通过执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,具体包括:当所述执行引擎读取到用于表示请求头的标记时,将该标记下的内容设置为请求头信息;当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数;至少根据所述请求头信息以及生成的URL参数输出标准的HTTP请求至所述第三方平台;所述当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数具体包括:当读取到的列表的数据为一串字符时,输出字符串到缓冲中;当读取到列表的数据为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中;当读取到列表的数据为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;在遍历列表中的数据后,将缓冲中的数据统一输出作为请求第三方平台的API接口时的URL参数。
2.根据权利要求1所述的第三方平台对接实现方法,其特征在于,还包括:
通过执行引擎接收第三方平台通过回调方式返回的调用结果,并将所述调用结果返回给客户端。
3.根据权利要求1所述的第三方平台对接实现方法,其特征在于,所述通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件具体包括:
通过标记区分配置信息在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量,表达式以及函数;
对各个标记中的内容进行编译,并在编译完成后以规范的数据结构存储在生成的编译文件中;
将编译通过后的编辑文件序列化后生成的JAVA对象以二进制文件存储并输出。
4.根据权利要求1所述的第三方平台对接实现方法,其特征在于,所述当用户调用第三方平台的API接口时,传入编译好的编辑文件给执行引擎并初始化上下文具体为:
当用户调用第三方平台的API接口时,传入编译好的编辑文件给执行引擎并初始化上下文;其中,将接口调用地址、调用接口时的token传入上下文进行初始化供表达式引用。
5.根据权利要求1至4任意一项所述的第三方平台对接实现方法,其特征在于,以[head]、[param]、[body]、[map]标记来区分在调用第三方平台的接口时对应的请求头,URL参数,请求主体,变量;表达式约定${}可引用任意变量,函数约定为md5(args);其中,md5为函数名,args变量;其中,[param]标记与[body]标记至少出现一个。
6.一种第三方平台对接实现装置,其特征在于,包括:
编译单元,用于通过预设的约定标准,对输入的配置信息进行预编译,以输出编译文件;其中,所述配置信息包括预定义的标记以及与每个标记对应的内容;所述标记用于区分在调用第三方平台的API接口时对应的请求头、URL参数、请求主体、变量、表达式以及函数;
编辑文件传入单元,用于当用户调用第三方平台的API接口时,传入编译好的编译文件给执行引擎并初始化上下文;
执行单元,用于通过所述执行引擎以预定义流程解析并执行所述编译文件,输出标准的HTTP请求至所述第三方平台,以实现调用第三方平台的API接口;所述执行单元具体包括:请求头读取模块,用于当所述执行引擎读取到用于表示请求头的标记时,将该标记下的内容设置为请求头信息;URL参数生成模块,用于当所述执行引擎读取到用于表示URL参数的标记时,将该标记下的内容根据列表中存储的数据递归输出,以生成URL参数;HTTP请求输出模块,用于至少根据所述请求头信息以及生成的URL参数输出标准的HTTP请求至所述第三方平台;URL参数生成模块具体用于:当读取到的列表的数据为一串字符时,输出字符串到缓冲中;当读取到列表的数据为一个表达式时,调用表达式处理流程,在上下文中查找表达式中引用的变量,输出所述变量到缓冲中;当读取到列表的数据为一个函数时,调用函数处理流程,在编译引擎中内置的函数库中找到所述函数,并调用所述函数进行运算,将运算结果输出到缓冲中;在遍历列表中的数据后,将缓冲中的数据统一输出作为请求第三方平台的API接口时的URL参数。
7.一种第三方平台对接实现设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的第三方平台对接实现方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的第三方平台对接实现方法。
CN201810402718.1A 2018-04-28 2018-04-28 第三方平台对接实现方法、装置、设备及存储介质 Active CN108829467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810402718.1A CN108829467B (zh) 2018-04-28 2018-04-28 第三方平台对接实现方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810402718.1A CN108829467B (zh) 2018-04-28 2018-04-28 第三方平台对接实现方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108829467A CN108829467A (zh) 2018-11-16
CN108829467B true CN108829467B (zh) 2020-05-22

Family

ID=64147452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810402718.1A Active CN108829467B (zh) 2018-04-28 2018-04-28 第三方平台对接实现方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108829467B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784631A (zh) * 2018-12-12 2019-05-21 广州永霸信息科技股份有限公司 一种生产工单生成处理方法、系统、平台及存储介质
CN109819020B (zh) * 2019-01-03 2021-09-07 福建天泉教育科技有限公司 基于配置化的第三方平台登录对接方法、存储介质
CN110908739B (zh) * 2019-11-28 2020-12-01 广东汉鼎蜂助手网络技术有限公司 与第三方Launcher实现数据对接的方法、装置及设备
CN111309407B (zh) * 2020-02-21 2023-07-11 咪咕文化科技有限公司 集成第三方库的处理方法及装置
CN111694620B (zh) * 2020-06-15 2024-04-12 深圳前海微众银行股份有限公司 第三方业务的交互方法、装置、设备及计算机存储介质
CN113973105B (zh) * 2021-10-18 2023-06-16 湖南大学 一种简化服务总线上soap消息的系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799766A (zh) * 2010-03-26 2010-08-11 青岛海信电器股份有限公司 Widget引擎中使用第三方引擎解析脚本文件的方法和装置
CN102023856A (zh) * 2010-10-21 2011-04-20 杭州万格网络科技有限公司 根据用户的需求格式化输出及操作伺服端业务数据的方法
CN103699367A (zh) * 2012-09-27 2014-04-02 中国电信股份有限公司 Http应用程序接口调用方法与装置
CN106354481A (zh) * 2015-07-13 2017-01-25 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN107592358A (zh) * 2017-09-19 2018-01-16 广州视源电子科技股份有限公司 基于http服务的应用程序接口调用方法和装置
CN107621954A (zh) * 2017-09-19 2018-01-23 深圳市华傲数据技术有限公司 接口调用方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160003485A (ko) * 2014-07-01 2016-01-11 삼성전자주식회사 원격 함수 호출을 위한 자동 코드 생성

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799766A (zh) * 2010-03-26 2010-08-11 青岛海信电器股份有限公司 Widget引擎中使用第三方引擎解析脚本文件的方法和装置
CN102023856A (zh) * 2010-10-21 2011-04-20 杭州万格网络科技有限公司 根据用户的需求格式化输出及操作伺服端业务数据的方法
CN103699367A (zh) * 2012-09-27 2014-04-02 中国电信股份有限公司 Http应用程序接口调用方法与装置
CN106354481A (zh) * 2015-07-13 2017-01-25 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN107592358A (zh) * 2017-09-19 2018-01-16 广州视源电子科技股份有限公司 基于http服务的应用程序接口调用方法和装置
CN107621954A (zh) * 2017-09-19 2018-01-23 深圳市华傲数据技术有限公司 接口调用方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
这是一份很有诚意的 Protocol Buffer 语法详解;Carson_Ho;《简述:https://www.jianshu.com/p/e06ba6249edc》;20170420;第1-18页 *

Also Published As

Publication number Publication date
CN108829467A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108829467B (zh) 第三方平台对接实现方法、装置、设备及存储介质
EP3605324B1 (en) Application development method and tool, and storage medium thereof
US7461385B2 (en) Method for establishing a new user interface via an intermingled user interface
US9244709B2 (en) Automatic recognition of web application
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
US20090199213A1 (en) Automatic Connections Between Application Components
KR20160061305A (ko) 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
KR20070110341A (ko) 리소스 작성 통합 온톨로지
CN107943465B (zh) 一种生成html表单的方法及装置
CN112612452B (zh) 一种api平台实现方法、装置、设备及存储介质
CN110780874B (zh) 用于生成信息的方法和装置
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN113495797A (zh) 一种消息队列及消费者动态创建方法及系统
CN109729121B (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
JP5039946B2 (ja) クライアント装置およびサーバ装置の間の通信を中継する技術
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
CN110941443B (zh) 修改sdk中文件名的方法、装置及电子设备
Nguyen Jump Start Node. js: Get Up to Speed With Node. js in a Weekend
CN112988604B (zh) 对象测试方法、测试系统、电子设备及可读存储介质
CN115291868A (zh) 一种生成动态页面数据的方法、装置及存储介质
CN112905970A (zh) 权限校验方法、装置、计算机可读存储介质及电子设备
US20210216886A1 (en) Information providing system and data structure
US20050028095A1 (en) Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
CN112287643A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510635 Room 2301-2341, 23 South Tower, 28 Longkou Hengjie, Tianhe District, Guangzhou City, Guangdong Province

Applicant after: Bee Assistant Co., Ltd.

Address before: 510635 Room 2301-2341, 23 South Tower, 28 Longkou Hengjie, Tianhe District, Guangzhou City, Guangdong Province

Applicant before: Guangdong bee assistant network technology Limited by Share Ltd

GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Third party platform docking implementation method, device, equipment and storage medium

Effective date of registration: 20220406

Granted publication date: 20200522

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd. Guangzhou branch

Pledgor: Bee Assistant Co.,Ltd.

Registration number: Y2022440000064