CN115811513B - 第三方接口请求设计方法、装置、存储介质 - Google Patents
第三方接口请求设计方法、装置、存储介质 Download PDFInfo
- Publication number
- CN115811513B CN115811513B CN202310077779.6A CN202310077779A CN115811513B CN 115811513 B CN115811513 B CN 115811513B CN 202310077779 A CN202310077779 A CN 202310077779A CN 115811513 B CN115811513 B CN 115811513B
- Authority
- CN
- China
- Prior art keywords
- request
- configuration
- variable
- signature
- interface
- 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
Images
Classifications
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了第三方接口请求设计方法、装置、存储介质,本申请的方法包括配置接口信息,根据所述接口信息生成唯一标识;根据所述唯一标识获取对应的配置信息;解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。本申请通过Web页面配置的修改即可实现对当前业务场景所调用的接口进行调整,极大的减少了开发成本和维护成本。
Description
技术领域
本申请涉及接口设计领域,尤其是一种第三方接口请求设计方法、装置、存储介质。
背景技术
目前,在许多办公软件系统中,有很多业务场景都有涉及到需要调用第三方平台接口,比如登录流程中涉及获取验证码需要调用第三方平台接口进行发送验证码、支付流程中涉及调用第三方平台接口进行交易、智能机器人响应流程中涉及调用第三方平台接口发送消息等。当前传统方式为软件平台针对需要调用的第三方平台接口,通过所约定的接口协议对接,即第三方平台提供调用接口所需的请求URL、请求头、请求体等信息,通常此对接还需要涉及到对部分信息进行签名的处理逻辑,软件系统根据此约定进行接口调用,通过验证、联调通过后上线此对接。但是如果所对接的平台接口字段有所调整或想替换对接的平台能力,通过调整代码,根据新增接口协议重新对接、兼容、验证、联调、上线等工作,将会大大增加开发成本与时间成本。此外还可能存在需要实现的业务功能为:由平台上游调用自身软件系统接口,软件系统根据本次接口所传参数调用不同第三方平台接口,当需要新增第三方平台对接时也需要进行接口对接、兼容、验证、联调、上线等工作。而本文提出一种可配置化的接口请求设计方案,无需在对接接口时将请求URL、请求头、请求体、请求签名等处理逻辑硬编码在代码中,通过提供的Web页面配置接口请求模板信息,使得与第三方平台所提供接口协议相关信息相匹配,在软件系统业务流程涉及到需要调用此接口处获取所配置的信息进行数据组装,再发起请求调用接口,即可以在不对原有代码进行修改的情况下通过配置接口对接信息,完成对接接口的调整。
因此,相关技术存在的上述技术问题亟待解决。
发明内容
本申请旨在解决相关技术中的技术问题之一。为此,本申请实施例提供一种第三方接口请求设计方法、装置、存储介质,能够减少接口调用的开发成本和维护成本。
根据本申请实施例一方面,提供第三方接口请求设计方法,所述方法包括:
配置接口信息,根据所述接口信息生成唯一标识;
根据所述唯一标识获取对应的配置信息;
解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;
根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
在其中一个实施例中,配置接口信息,根据所述接口信息生成唯一标识,包括:
根据所需对接的接口协议,预先新增业务变量库的变量数据;
将所述接口信息生成唯一标识,并汇总为JSON配置存入数据库中。
在其中一个实施例中,根据所述唯一标识获取对应的配置信息,包括:
在待调用的第三方平台接口处,根据所述唯一标识获取对应配置信息;
根据业务需求,构造以变量编码为Key,渲染值为Value的键值对。
在其中一个实施例中,解析所述配置信息,得到相关信息,包括:
生成变量属性为时间戳毫秒、时间戳秒的对应值,新增入所述键值对中;
使用所述键值对渲染替换JSON数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型占位的值,得到初次渲染后的JSON数据;
根据所述JSON数据解析得到对应的JSON请求体结构。
在其中一个实施例中,根据所述相关信息得到请求响应,解析所述请求响应得到请求签名配置,包括:
根据所述JSON数据解析得到请求签名配置;
根据所述请求签名配置得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串;
根据对应变量编码所配置的排序方式、签名算法、编码格式依次处理,得到对应的值,再将所述对应的值渲染替换到对应占位的内容中,得到二次渲染后的JSON配置数据。
在其中一个实施例中,若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
在其中一个实施例中,所述请求签名配置包含签名变量名称、签名Key、Key和Value拼接符、签名Value、拼接符、Value处理算法、Value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当Value来源类型为请求体时,根据签名Key获取请求体中对应Key的值;
其中,当Value来源类型为变量时,使用来自业务变量库中的变量配置签名Value字段。
根据本申请实施例一方面,提供第三方接口请求设计装置,所述装置包括:
第一模块,用于配置接口信息,根据所述接口信息生成唯一标识;
第二模块,用于根据所述唯一标识获取对应的配置信息;
第三模块,用于解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、签名配置、响应配置;
第四模块,用于根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
根据本申请实施例一方面,提供第三方接口请求设计装置,所述装置包括:
至少一个处理器;
至少一个存储器,所述存储器用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
根据本申请实施例一方面,提供存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
本申请实施例提供的第三方接口请求设计方法、装置、存储介质的有益效果为:本申请的方法包括配置接口信息,根据所述接口信息生成唯一标识;根据所述唯一标识获取对应的配置信息;解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段;根据所述相关信息得到请求响应,解析所述请求响应得到请求签名配置,将可配置化的接口请求嵌入到业务处理中。本申请通过Web页面配置的修改即可实现对当前业务场景所调用的接口进行调整,极大的减少了开发成本和维护成本。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种第三方接口请求设计方法的流程图;
图2为本申请实施例提供的一种第三方接口请求设计装置的示意图;
图3为本申请实施例提供的另一种第三方接口请求设计装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
目前,在许多办公软件系统中,有很多业务场景都有涉及到需要调用第三方平台接口,比如登录流程中涉及获取验证码需要调用第三方平台接口进行发送验证码、支付流程中涉及调用第三方平台接口进行交易、智能机器人响应流程中涉及调用第三方平台接口发送消息等。当前传统方式为软件平台针对需要调用的第三方平台接口,通过所约定的接口协议对接,即第三方平台提供调用接口所需的请求URL、请求头、请求体等信息,通常此对接还需要涉及到对部分信息进行签名的处理逻辑,软件系统根据此约定进行接口调用,通过验证、联调通过后上线此对接。但是如果所对接的平台接口字段有所调整或想替换对接的平台能力,通过调整代码,根据新增接口协议重新对接、兼容、验证、联调、上线等工作,将会大大增加开发成本与时间成本。此外还可能存在需要实现的业务功能为:由平台上游调用自身软件系统接口,软件系统根据本次接口所传参数调用不同第三方平台接口,当需要新增第三方平台对接时也需要进行接口对接、兼容、验证、联调、上线等工作。而本文提出一种可配置化的接口请求设计方案,无需在对接接口时将请求URL、请求头、请求体、请求签名等处理逻辑硬编码在代码中,通过提供的Web页面配置接口请求模板信息,使得与第三方平台所提供接口协议相关信息相匹配,在软件系统业务流程涉及到需要调用此接口处获取所配置的信息进行数据组装,再发起请求调用接口,即可以在不对原有代码进行修改的情况下通过配置接口对接信息,完成对接接口的调整。
为了解决上述问题,本申请提出了一种第三方接口请求设计方法、装置、存储介质。本申请主要解决的技术问题:提供一种可配置化的接口请求设计,对于需要用到调用第三方平台接口的不同业务场景,都可以基于此设计进行实现,无需投入开发,通过Web页面配置的修改即可实现对当前业务场景所调用的接口进行调整,极大的减少了开发成本和维护成本。
术语解释:
业务变量库:提供配置变量信息以用于配置接口信息,根据配置内容执行对应数据的渲染或执行逻辑,每条数据包含的字段有变量名称、变量编码、变量属性、变量说明、排序方式、签名算法、编码格式等字段,在使用时以${变量编码}作为占位符存储于相关配置中;
变量编码:业务变量库中所包含的配置字段,用于唯一标识业务变量库的数据;
变量属性:业务变量库中所包含的配置字段,标识执行渲染的类型,包含数值型、字符型、时间戳毫秒、时间戳秒、报文签名等;
排序方式:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含不排序、升序、降序等配置,以满足不同接口协议的签名处理;
签名算法:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含原文、MD5、SHA1、SHA256、HMAC-MD5、HMAC-SHA256,以满足不同接口协议的签名处理;
编码格式:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含无、Base64、URLEncoder,允许配置多个,以满足不同接口协议的签名编码处理。
如图1所示,本申请提出的第三方接口请求设计方法,所述方法包括:
S101、配置接口信息,根据所述接口信息生成唯一标识。
S102、根据所述唯一标识获取对应的配置信息。
S103、解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、非必填的签名配置、响应配置。
S104、根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
可选地,步骤S101的配置接口信息,根据所述接口信息生成唯一标识,具体可以包括:根据所需对接的接口协议,预先新增业务变量库的变量数据;将所述接口信息生成唯一标识,并汇总为JSON配置存入数据库中。
在本实施例中,步骤S102的根据所述唯一标识获取对应的配置信息,包括:在待调用的第三方平台接口处,根据所述唯一标识获取对应配置信息;根据业务需求,构造以变量编码为Key,渲染值为Value的键值对。其中,解析所述配置信息,得到相关信息,包括:生成变量属性为时间戳毫秒、时间戳秒的对应值,新增入所述键值对中;使用所述键值对渲染替换JSON数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型占位的值,得到初次渲染后的JSON数据;根据所述JSON数据解析得到对应的JSON请求体结构。具体地,根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,包括:根据所述JSON数据解析得到请求签名配置;根据所述请求签名配置得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串;根据对应变量编码所配置的排序方式、签名算法、编码格式依次处理,得到对应的值,再将所述对应的值渲染替换到对应占位的内容中,得到二次渲染后的JSON配置数据。
此外,若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
需要说明的是,所述请求签名配置包含签名变量名称、签名Key、Key和Value拼接符、签名Value、拼接符、Value处理算法、Value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当Value来源类型为请求体时,根据签名Key获取请求体中对应Key的值;其中,当Value来源类型为变量时,使用来自业务变量库中的变量配置签名Value字段。
本申请的实施过程具体如下:
(1)配置接口信息:
1.1、根据所需对接的接口协议,预先新增可能使用到的业务变量库的变量数据,并存入数据库中。
1.2根据所需对接的接口协议,配置对应的请求URL、请求类型(GET、POST等)、密钥、请求头字段、请求体模版、响应体模版、签名配置等相关信息。
1.2.1、配置请求URL、请求类型、密钥等信息,其中请求URL、密钥允许使用来自业务变量库中的变量配置。
1.2.2、请求头字段配置包含参数名称、参数值等字段值,以用来对应HTTP请求头中的数据,其中参数值字段使用来自业务变量库中的变量配置。
1.2.3、请求体模版配置包含参数名称、是否必填、参数类型、参数值等字段,根据请求体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean等以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,其中参数值字段使用来自业务变量库中的变量配置。
1.2.4、响应体模版配置包含参数名称、是否必填、参数类型、参数标识类型(普通数据、状态码、状态码描述)、状态码成功等字段,根据响应体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean等以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,用于发起请求后根据响应体中的某些字段对应的值判定请求是否成功当状态码配置多个时,多个配置同时成立即为成功。
1.2.5、签名配置包含签名变量名称、签名Key、Key和Value拼接符、签名Value、拼接符、Value处理算法(原文、MD5、SHA1、SHA256、HMAC-MD5、HMAC-SHA256)、Value来源类型(变量、请求体、常量)等字段;签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据;当Value来源类型为请求体时,会根据签名Key获取请求体中对应Key的值,多层级使用小数点【.】间隔,如root.msg.content;其中当Value来源类型为变量时签名Value字段使用来自业务变量库中的变量配置。
1.2.6、将所配置的信息生成唯一标识,并汇总为JSON配置存入数据库中。
(2)获取配置信息:在待调用第三方平台接口处根据步骤1.2.6所生成的唯一标识获取对应配置信息,并根据业务需求构造以变量编码为Key,渲染值为Value的键值对。
(3)解析配置信息:根据接口请求配置解析得到请求URL、请求类型(GET、POST等)、密钥、请求头字段、请求体模版、响应体模版、签名配置等相关信息,并渲染对应的变量后发起HTTP请求。
3.1、生成1.2.6中所得到的JSON数据使用变量属性为时间戳毫秒、时间戳秒对应值,并新增入步骤2所得到的键值对中,使用此键值对渲染替换JSON数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型${变量编码}占位的值,得到初次渲染后的JSON配置数据。
3.2、根据3.1中所得到的JSON数据,解析得到对应的JSON请求体结构。
3.3、根据3.1中所得到的JSON数据,解析得到请求签名配置,根据签名变量名称汇总配置信息得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串,再根据对应变量编码所配置的排序方式、签名算法、编码格式等配置依次进行处理得到最终此变量编码对应的值,再将所得值渲染替换到对应${变量编码}占位的内容中,得到二次渲染后的JSON配置数据。
3.4、根据3.3中所得到的JSON数据,解析得到对应的请求URL、请求类型、请求头。
(4)根据3.4所得请求URL、请求类型、请求头、请求体,发送HTTP请求,得到请求响应。
(5)根据3.4中所得到的JSON数据,解析得到请求签名配置,若配置中存在参数标识类型字段值为状态码、状态码描述时,解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
通过以上步骤,即可将可配置化的接口请求嵌入到业务处理中,若需要对接接口需要改动,可根据新的协议做对应配置调整。
此外,本申请还提供了第三方接口请求设计装置,所述装置包括:
第一模块201,用于配置接口信息,根据所述接口信息生成唯一标识;
第二模块202,用于根据所述唯一标识获取对应的配置信息;
第三模块203,用于解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;
第四模块204,用于根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
此外,本申请还提供了第三方接口请求设计装置,所述装置包括:
至少一个处理器301;
至少一个存储器302,所述存储器302用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器301执行时实现如前面实施例所述的第三方接口请求设计方法。
此外,本申请还提供了存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (6)
1.第三方接口请求设计方法,其特征在于,所述方法包括:
配置接口信息,根据所述接口信息生成唯一标识;
根据所述唯一标识获取对应的配置信息;
解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;
根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中;
其中,所述配置接口信息,根据所述接口信息生成唯一标识,包括:
根据所需对接的接口协议,配置对应的请求URL、请求类型、密钥、请求头字段、请求体模版、响应体模版、签名配置的相关信息;预先新增业务变量库的变量数据;所述业务变量库用于提供配置变量信息以用于配置接口信息,根据配置内容执行对应数据的渲染或执行逻辑;
请求体模版配置包含参数名称、是否必填、参数类型、参数值的字段,根据请求体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,其中参数值字段使用来自业务变量库中的变量配置;
响应体模版配置包含参数名称、是否必填、参数类型、参数标识类型、状态码成功的字段,根据响应体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,用于发起请求后根据响应体中的某些字段对应的值判定请求是否成功;
签名配置包含签名变量名称、签名Key、Key和Value拼接符、签名Value、拼接符、Value处理算法、Value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当Value来源类型为请求体时,根据签名Key获取请求体中对应Key的值;
其中,当Value来源类型为变量时,使用来自业务变量库中的变量配置签名Value字段;
将所述接口信息生成唯一标识,并汇总为JSON配置存入数据库中;
所述根据所述唯一标识获取对应的配置信息,包括:
在待调用的第三方平台接口处,根据所述唯一标识获取对应配置信息;
根据业务需求,构造以变量编码为Key,渲染值为Value的键值对;
若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
2.根据权利要求1所述的第三方接口请求设计方法,其特征在于,解析所述配置信息,得到相关信息,包括:
生成变量属性为时间戳毫秒、时间戳秒的对应值,新增入所述键值对中;
使用所述键值对渲染替换JSON数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型占位的值,得到初次渲染后的JSON数据;
根据所述JSON数据解析得到对应的JSON请求体结构。
3.根据权利要求2所述的第三方接口请求设计方法,其特征在于,根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,包括:
根据所述JSON数据解析得到请求签名配置;
根据所述请求签名配置得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串;
根据对应变量编码所配置的排序方式、签名算法、编码格式依次处理,得到对应的值,再将所述对应的值渲染替换到对应占位的内容中,得到二次渲染后的JSON配置数据。
4.第三方接口请求设计装置,其特征在于,所述装置包括:
第一模块,用于配置接口信息,根据所述接口信息生成唯一标识;
其中,所述配置接口信息,根据所述接口信息生成唯一标识,包括:
根据所需对接的接口协议,预先新增业务变量库的变量数据;
将所述接口信息生成唯一标识,并汇总为JSON配置存入数据库中;
第二模块,用于根据所述唯一标识获取对应的配置信息;
第三模块,用于解析所述配置信息,得到相关信息,所述相关信息至少包括请求URL、请求类型、密钥、请求头字段、签名配置、响应配置;
第四模块,用于根据所述相关信息构造HTTP请求数据,发起HTTP请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中;
其中,所述配置接口信息,根据所述接口信息生成唯一标识,包括:
根据所需对接的接口协议,配置对应的请求URL、请求类型、密钥、请求头字段、请求体模版、响应体模版、签名配置的相关信息;预先新增业务变量库的变量数据;所述业务变量库用于提供配置变量信息以用于配置接口信息,根据配置内容执行对应数据的渲染或执行逻辑;
请求体模版配置包含参数名称、是否必填、参数类型、参数值的字段,根据请求体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,其中参数值字段使用来自业务变量库中的变量配置;
响应体模版配置包含参数名称、是否必填、参数类型、参数标识类型、状态码成功的字段,根据响应体的JSON格式配置对应的key、value及value类型,参数类型包含String、Number、Object、Array、Boolean以对应请求体JSON的数据类型,可以在Array、Object类型下新增对应的子节点以满足JSON格式的配置,用于发起请求后根据响应体中的某些字段对应的值判定请求是否成功;
签名配置包含签名变量名称、签名Key、Key和Value拼接符、签名Value、拼接符、Value处理算法、Value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当Value来源类型为请求体时,根据签名Key获取请求体中对应Key的值;
其中,当Value来源类型为变量时,使用来自业务变量库中的变量配置签名Value字段;
将所述接口信息生成唯一标识,并汇总为JSON配置存入数据库中;
所述根据所述唯一标识获取对应的配置信息,包括:
在待调用的第三方平台接口处,根据所述唯一标识获取对应配置信息;
根据业务需求,构造以变量编码为Key,渲染值为Value的键值对;
若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
5.第三方接口请求设计装置,其特征在于,所述装置包括:
至少一个处理器;
至少一个存储器,所述存储器用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如权利要求1-3中任一项所述的第三方接口请求设计方法。
6.存储介质,其特征在于,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如权利要求1-3中任一项所述的第三方接口请求设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310077779.6A CN115811513B (zh) | 2023-02-08 | 2023-02-08 | 第三方接口请求设计方法、装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310077779.6A CN115811513B (zh) | 2023-02-08 | 2023-02-08 | 第三方接口请求设计方法、装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115811513A CN115811513A (zh) | 2023-03-17 |
CN115811513B true CN115811513B (zh) | 2023-06-02 |
Family
ID=85487589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310077779.6A Active CN115811513B (zh) | 2023-02-08 | 2023-02-08 | 第三方接口请求设计方法、装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115811513B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560641A (zh) * | 2023-04-19 | 2023-08-08 | 上海百秋智尚网络服务有限公司 | 接口自动生成方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808840A (zh) * | 2019-10-30 | 2020-02-18 | 网易(杭州)网络有限公司 | 业务处理方法及装置、电子设备、存储介质 |
CN113779444A (zh) * | 2021-11-12 | 2021-12-10 | 北京宇信科技集团股份有限公司 | 接口开发方法、零代码引擎和零代码数据接口开发系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836795B2 (en) * | 2012-11-08 | 2017-12-05 | Hartford Fire Insurance Company | Computerized system and method for pre-filling of insurance data using third party sources |
CN108446225A (zh) * | 2018-03-06 | 2018-08-24 | 平安科技(深圳)有限公司 | 模拟接口的创建装置、方法及计算机可读存储介质 |
CN113535830A (zh) * | 2020-04-21 | 2021-10-22 | 中移信息技术有限公司 | 接口自动扩展方法、装置、设备及存储介质 |
CN111694495A (zh) * | 2020-06-18 | 2020-09-22 | 上海泛微网络科技股份有限公司 | 一种快速对接第三方app平台的方法、系统和存储介质 |
CN112528201A (zh) * | 2020-12-17 | 2021-03-19 | 平安消费金融有限公司 | 调用第三方平台的方法、装置、计算机设备和存储介质 |
CN113703862A (zh) * | 2021-07-12 | 2021-11-26 | 新华三大数据技术有限公司 | 基于配置的接口调用方法、装置、设备及存储介质 |
CN114281500A (zh) * | 2021-12-22 | 2022-04-05 | 清源云信(武汉)科技有限公司 | 一种便于与外部系统对接的数据接口集成配置方法 |
-
2023
- 2023-02-08 CN CN202310077779.6A patent/CN115811513B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808840A (zh) * | 2019-10-30 | 2020-02-18 | 网易(杭州)网络有限公司 | 业务处理方法及装置、电子设备、存储介质 |
CN113779444A (zh) * | 2021-11-12 | 2021-12-10 | 北京宇信科技集团股份有限公司 | 接口开发方法、零代码引擎和零代码数据接口开发系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115811513A (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314306A (zh) | 接口访问方法及装置、电子设备、存储介质 | |
CN104391934A (zh) | 数据校验方法和装置 | |
CA3152829A1 (en) | Method and apparatus for processing business data | |
CN109189379A (zh) | 代码生成方法和装置 | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN109460223A (zh) | 一种api网关管理系统及其方法 | |
CN115811513B (zh) | 第三方接口请求设计方法、装置、存储介质 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN112070608B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN110795084B (zh) | 生成接口描述文件的方法、装置、设备及可读存储介质 | |
CN113726890A (zh) | 面向区块链数据服务的联邦预言方法及系统 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN110716743A (zh) | 一种适合多方协作开发的聚合api开发方法及系统 | |
CN110321122A (zh) | 浏览器应用的开发方法及相关设备 | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
CN111314355B (zh) | 一种vpn服务器的认证方法、装置、设备及介质 | |
CN115774573B (zh) | 应用集成方法、装置、电子设备和存储介质 | |
CN112507668A (zh) | 项目数据存证方法、存证系统、终端设备及可读存储介质 | |
CN111324368B (zh) | 一种数据共享方法及服务器 | |
EP4165825A1 (en) | Verified templates | |
CN113489714A (zh) | 一种基于多模块的消息智能交叉处理方法及系统 | |
CN108076067B (zh) | 一种授权爬虫配置化模拟登录的方法及系统 | |
CN117472372B (zh) | 一种响应式表单搭建方法及系统 | |
CN116719627B (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 |