第三方接口请求设计方法、装置、存储介质与流程

文档序号:33505525发布日期:2023-03-18 00:10阅读:99来源:国知局
第三方接口请求设计方法、装置、存储介质与流程

1.本技术涉及接口设计领域,尤其是一种第三方接口请求设计方法、装置、存储介质。


背景技术:

2.目前,在许多办公软件系统中,有很多业务场景都有涉及到需要调用第三方平台接口,比如登录流程中涉及获取验证码需要调用第三方平台接口进行发送验证码、支付流程中涉及调用第三方平台接口进行交易、智能机器人响应流程中涉及调用第三方平台接口发送消息等。当前传统方式为软件平台针对需要调用的第三方平台接口,通过所约定的接口协议对接,即第三方平台提供调用接口所需的请求url、请求头、请求体等信息,通常此对接还需要涉及到对部分信息进行签名的处理逻辑,软件系统根据此约定进行接口调用,通过验证、联调通过后上线此对接。但是如果所对接的平台接口字段有所调整或想替换对接的平台能力,通过调整代码,根据新增接口协议重新对接、兼容、验证、联调、上线等工作,将会大大增加开发成本与时间成本。此外还可能存在需要实现的业务功能为:由平台上游调用自身软件系统接口,软件系统根据本次接口所传参数调用不同第三方平台接口,当需要新增第三方平台对接时也需要进行接口对接、兼容、验证、联调、上线等工作。而本文提出一种可配置化的接口请求设计方案,无需在对接接口时将请求url、请求头、请求体、请求签名等处理逻辑硬编码在代码中,通过提供的web页面配置接口请求模板信息,使得与第三方平台所提供接口协议相关信息相匹配,在软件系统业务流程涉及到需要调用此接口处获取所配置的信息进行数据组装,再发起请求调用接口,即可以在不对原有代码进行修改的情况下通过配置接口对接信息,完成对接接口的调整。
3.因此,相关技术存在的上述技术问题亟待解决。


技术实现要素:

4.本技术旨在解决相关技术中的技术问题之一。为此,本技术实施例提供一种第三方接口请求设计方法、装置、存储介质,能够减少接口调用的开发成本和维护成本。
5.根据本技术实施例一方面,提供第三方接口请求设计方法,所述方法包括:配置接口信息,根据所述接口信息生成唯一标识;根据所述唯一标识获取对应的配置信息;解析所述配置信息,得到相关信息,所述相关信息至少包括请求url、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;根据所述相关信息构造http请求数据,发起http请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
6.在其中一个实施例中,配置接口信息,根据所述接口信息生成唯一标识,包括:根据所需对接的接口协议,预先新增业务变量库的变量数据;将所述接口信息生成唯一标识,并汇总为json配置存入数据库中。
7.在其中一个实施例中,根据所述唯一标识获取对应的配置信息,包括:在待调用的第三方平台接口处,根据所述唯一标识获取对应配置信息;根据业务需求,构造以变量编码为key,渲染值为value的键值对。
8.在其中一个实施例中,解析所述配置信息,得到相关信息,包括:生成变量属性为时间戳毫秒、时间戳秒的对应值,新增入所述键值对中;使用所述键值对渲染替换json数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型占位的值,得到初次渲染后的json数据;根据所述json数据解析得到对应的json请求体结构。
9.在其中一个实施例中,根据所述相关信息得到请求响应,解析所述请求响应得到请求签名配置,包括:根据所述json数据解析得到请求签名配置;根据所述请求签名配置得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串;根据对应变量编码所配置的排序方式、签名算法、编码格式依次处理,得到对应的值,再将所述对应的值渲染替换到对应占位的内容中,得到二次渲染后的json配置数据。
10.在其中一个实施例中,若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
11.在其中一个实施例中,所述请求签名配置包含签名变量名称、签名key、key和value拼接符、签名value、拼接符、value处理算法、value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当value来源类型为请求体时,根据签名key获取请求体中对应key的值;其中,当value来源类型为变量时,使用来自业务变量库中的变量配置签名value字段。
12.根据本技术实施例一方面,提供第三方接口请求设计装置,所述装置包括:第一模块,用于配置接口信息,根据所述接口信息生成唯一标识;第二模块,用于根据所述唯一标识获取对应的配置信息;第三模块,用于解析所述配置信息,得到相关信息,所述相关信息至少包括请求url、请求类型、密钥、请求头字段、签名配置、响应配置;第四模块,用于根据所述相关信息构造http请求数据,发起http请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
13.根据本技术实施例一方面,提供第三方接口请求设计装置,所述装置包括:至少一个处理器;至少一个存储器,所述存储器用于存储至少一个程序;当至少一个所述程序被至少一个所述处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
14.根据本技术实施例一方面,提供存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
15.本技术实施例提供的第三方接口请求设计方法、装置、存储介质的有益效果为:本
申请的方法包括配置接口信息,根据所述接口信息生成唯一标识;根据所述唯一标识获取对应的配置信息;解析所述配置信息,得到相关信息,所述相关信息至少包括请求url、请求类型、密钥、请求头字段;根据所述相关信息得到请求响应,解析所述请求响应得到请求签名配置,将可配置化的接口请求嵌入到业务处理中。本技术通过web页面配置的修改即可实现对当前业务场景所调用的接口进行调整,极大的减少了开发成本和维护成本。
16.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术实施例提供的一种第三方接口请求设计方法的流程图;图2为本技术实施例提供的一种第三方接口请求设计装置的示意图;图3为本技术实施例提供的另一种第三方接口请求设计装置的示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
20.本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
22.目前,在许多办公软件系统中,有很多业务场景都有涉及到需要调用第三方平台接口,比如登录流程中涉及获取验证码需要调用第三方平台接口进行发送验证码、支付流程中涉及调用第三方平台接口进行交易、智能机器人响应流程中涉及调用第三方平台接口发送消息等。当前传统方式为软件平台针对需要调用的第三方平台接口,通过所约定的接口协议对接,即第三方平台提供调用接口所需的请求url、请求头、请求体等信息,通常此对接还需要涉及到对部分信息进行签名的处理逻辑,软件系统根据此约定进行接口调用,通过验证、联调通过后上线此对接。但是如果所对接的平台接口字段有所调整或想替换对接
的平台能力,通过调整代码,根据新增接口协议重新对接、兼容、验证、联调、上线等工作,将会大大增加开发成本与时间成本。此外还可能存在需要实现的业务功能为:由平台上游调用自身软件系统接口,软件系统根据本次接口所传参数调用不同第三方平台接口,当需要新增第三方平台对接时也需要进行接口对接、兼容、验证、联调、上线等工作。而本文提出一种可配置化的接口请求设计方案,无需在对接接口时将请求url、请求头、请求体、请求签名等处理逻辑硬编码在代码中,通过提供的web页面配置接口请求模板信息,使得与第三方平台所提供接口协议相关信息相匹配,在软件系统业务流程涉及到需要调用此接口处获取所配置的信息进行数据组装,再发起请求调用接口,即可以在不对原有代码进行修改的情况下通过配置接口对接信息,完成对接接口的调整。
23.为了解决上述问题,本技术提出了一种第三方接口请求设计方法、装置、存储介质。本技术主要解决的技术问题:提供一种可配置化的接口请求设计,对于需要用到调用第三方平台接口的不同业务场景,都可以基于此设计进行实现,无需投入开发,通过web页面配置的修改即可实现对当前业务场景所调用的接口进行调整,极大的减少了开发成本和维护成本。
24.术语解释:业务变量库:提供配置变量信息以用于配置接口信息,根据配置内容执行对应数据的渲染或执行逻辑,每条数据包含的字段有变量名称、变量编码、变量属性、变量说明、排序方式、签名算法、编码格式等字段,在使用时以${变量编码}作为占位符存储于相关配置中;变量编码:业务变量库中所包含的配置字段,用于唯一标识业务变量库的数据;变量属性:业务变量库中所包含的配置字段,标识执行渲染的类型,包含数值型、字符型、时间戳毫秒、时间戳秒、报文签名等;排序方式:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含不排序、升序、降序等配置,以满足不同接口协议的签名处理;签名算法:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含原文、md5、sha1、sha256、hmac-md5、hmac-sha256,以满足不同接口协议的签名处理;编码格式:业务变量库中所包含的配置字段,当变量属性为报文签名时需要配置,包含无、base64、urlencoder,允许配置多个,以满足不同接口协议的签名编码处理。
25.如图1所示,本技术提出的第三方接口请求设计方法,所述方法包括:s101、配置接口信息,根据所述接口信息生成唯一标识。
26.s102、根据所述唯一标识获取对应的配置信息。
27.s103、解析所述配置信息,得到相关信息,所述相关信息至少包括请求url、请求类型、密钥、请求头字段、非必填的签名配置、响应配置。
28.s104、根据所述相关信息构造http请求数据,发起http请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
29.可选地,步骤s101的配置接口信息,根据所述接口信息生成唯一标识,具体可以包括:根据所需对接的接口协议,预先新增业务变量库的变量数据;将所述接口信息生成唯一标识,并汇总为json配置存入数据库中。
30.在本实施例中,步骤s102的根据所述唯一标识获取对应的配置信息,包括:在待调
用的第三方平台接口处,根据所述唯一标识获取对应配置信息;根据业务需求,构造以变量编码为key,渲染值为value的键值对。其中,解析所述配置信息,得到相关信息,包括:生成变量属性为时间戳毫秒、时间戳秒的对应值,新增入所述键值对中;使用所述键值对渲染替换json数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型占位的值,得到初次渲染后的json数据;根据所述json数据解析得到对应的json请求体结构。具体地,根据所述相关信息构造http请求数据,发起http请求得到请求响应,在配置信息中配置签名,包括:根据所述json数据解析得到请求签名配置;根据所述请求签名配置得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串;根据对应变量编码所配置的排序方式、签名算法、编码格式依次处理,得到对应的值,再将所述对应的值渲染替换到对应占位的内容中,得到二次渲染后的json配置数据。
31.此外,若配置中存在参数标识类型字段值为状态码、状态码描述,则解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
32.需要说明的是,所述请求签名配置包含签名变量名称、签名key、key和value拼接符、签名value、拼接符、value处理算法、value来源类型,所述签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据,当value来源类型为请求体时,根据签名key获取请求体中对应key的值;其中,当value来源类型为变量时,使用来自业务变量库中的变量配置签名value字段。
33.本技术的实施过程具体如下:(1)配置接口信息:1.1、根据所需对接的接口协议,预先新增可能使用到的业务变量库的变量数据,并存入数据库中。
34.1.2根据所需对接的接口协议,配置对应的请求url、请求类型(get、post等)、密钥、请求头字段、请求体模版、响应体模版、签名配置等相关信息。
35.1.2.1、配置请求url、请求类型、密钥等信息,其中请求url、密钥允许使用来自业务变量库中的变量配置。
36.1.2.2、请求头字段配置包含参数名称、参数值等字段值,以用来对应http请求头中的数据,其中参数值字段使用来自业务变量库中的变量配置。
37.1.2.3、请求体模版配置包含参数名称、是否必填、参数类型、参数值等字段,根据请求体的json格式配置对应的key、value及value类型,参数类型包含string、number、object、array、boolean等以对应请求体json的数据类型,可以在array、object类型下新增对应的子节点以满足json格式的配置,其中参数值字段使用来自业务变量库中的变量配置。
38.1.2.4、响应体模版配置包含参数名称、是否必填、参数类型、参数标识类型(普通数据、状态码、状态码描述)、状态码成功等字段,根据响应体的json格式配置对应的key、value及value类型,参数类型包含string、number、object、array、boolean等以对应请求体json的数据类型,可以在array、object类型下新增对应的子节点以满足json格式的配置,用于发起请求后根据响应体中的某些字段对应的值判定请求是否成功当状态码配置多个时,多个配置同时成立即为成功。
39.1.2.5、签名配置包含签名变量名称、签名key、key和value拼接符、签名value、拼
接符、value处理算法(原文、md5、sha1、sha256、hmac-md5、hmac-sha256)、value来源类型(变量、请求体、常量)等字段;签名变量名称仅能选择当前配置所关联业务变量库变量属性为报文签名的数据;当value来源类型为请求体时,会根据签名key获取请求体中对应key的值,多层级使用小数点【.】间隔,如root.msg.content;其中当value来源类型为变量时签名value字段使用来自业务变量库中的变量配置。
40.1.2.6、将所配置的信息生成唯一标识,并汇总为json配置存入数据库中。
41.(2)获取配置信息:在待调用第三方平台接口处根据步骤1.2.6所生成的唯一标识获取对应配置信息,并根据业务需求构造以变量编码为key,渲染值为value的键值对。
42.(3)解析配置信息:根据接口请求配置解析得到请求url、请求类型(get、post等)、密钥、请求头字段、请求体模版、响应体模版、签名配置等相关信息,并渲染对应的变量后发起http请求。
43.3.1、生成1.2.6中所得到的json数据使用变量属性为时间戳毫秒、时间戳秒对应值,并新增入步骤2所得到的键值对中,使用此键值对渲染替换json数据使用变量属性为时间戳毫秒、时间戳秒、数值型、字符型类型${变量编码}占位的值,得到初次渲染后的json配置数据。
44.3.2、根据3.1中所得到的json数据,解析得到对应的json请求体结构。
45.3.3、根据3.1中所得到的json数据,解析得到请求签名配置,根据签名变量名称汇总配置信息得到每一个报文签名变量的配置列表,根据每一条配置信息获取到得到对应字符串,再根据对应变量编码所配置的排序方式、签名算法、编码格式等配置依次进行处理得到最终此变量编码对应的值,再将所得值渲染替换到对应${变量编码}占位的内容中,得到二次渲染后的json配置数据。
46.3.4、根据3.3中所得到的json数据,解析得到对应的请求url、请求类型、请求头。
47.(4)根据3.4所得请求url、请求类型、请求头、请求体,发送http请求,得到请求响应。
48.(5)根据3.4中所得到的json数据,解析得到请求签名配置,若配置中存在参数标识类型字段值为状态码、状态码描述时,解析获取到请求响应中对应的值,并根据业务处理响应逻辑。
49.通过以上步骤,即可将可配置化的接口请求嵌入到业务处理中,若需要对接接口需要改动,可根据新的协议做对应配置调整。
50.此外,本技术还提供了第三方接口请求设计装置,所述装置包括:第一模块201,用于配置接口信息,根据所述接口信息生成唯一标识;第二模块202,用于根据所述唯一标识获取对应的配置信息;第三模块203,用于解析所述配置信息,得到相关信息,所述相关信息至少包括请求url、请求类型、密钥、请求头字段、非必填的签名配置、响应配置;第四模块204,用于根据所述相关信息构造http请求数据,发起http请求得到请求响应,在配置信息中配置签名,将可配置化的接口请求嵌入到业务处理中。
51.此外,本技术还提供了第三方接口请求设计装置,所述装置包括:至少一个处理器301;至少一个存储器302,所述存储器302用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器301执行时实现如前面实施例所述的第三方接口请求设计方法。
52.此外,本技术还提供了存储介质,所述存储介质存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时实现如前面实施例所述的第三方接口请求设计方法。
53.同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
54.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本技术的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
55.此外,虽然在功能性模块的背景下描述了本技术,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本技术是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本技术。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本技术的范围,本技术的范围由所附权利要求书及其等同方案的全部范围来决定。
56.功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
57.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
58.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存
储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
59.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
60.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
61.尽管已经示出和描述了本技术的实施方式,本领域的普通技术人员可以理解:在不脱离本技术的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本技术的范围由权利要求及其等同物限定。
62.以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1