一种面向WebAPI调用的请求参数转换方法与流程
未命名
07-23
阅读:94
评论:0
一种面向web api调用的请求参数转换方法
技术领域
1.本发明涉及web api智能匹配领域和web api推荐领域,尤其涉及一种面向web api调用的请求参数转换方法。
背景技术:
2.随着web技术的飞速发展,web服务在web2.0时代取得了长足的进步,它超越了现有的封闭web服务,可以自由地打开和共享信息。开发人员不再从零开始开发新系统,而是组合现有的web服务应用程序编程接口(即web api)进行软件开发,这已经成为一种高效的方法。开发人员需要根据实际开发需求去寻找契合的web api,并且在调用web api时,需要阅读厂商提供的说明文档并提供指定的请求参数,按照开发文档规定的方式成功调用web api。
3.但在web api数量持续增长的背景下,一旦当前使用的web api失效,如何根据开发需求寻找新的web api来替换失效的web api,以及如何将失效的web api的请求参数转换为新的web api的请求参数,这两个问题给软件开发工作带来不小的麻烦。
4.为了帮助开发人员更迅速地定位到合适的web api来替换失效的web api,多种推荐方法和模型已经被应用于web api推荐领域。这些推荐方法大致被分为两类,基于协同过滤的推荐方法和基于内容的推荐方法。基于协同过滤的推荐算法通过历史关系来进行预测,通过计算相似度并利用相似信息进行推荐web api。基于内容的推荐首先对开发的需求进行主题建模,再利用开发需求和web api之间的相关性进行推荐web api。以上两类推荐方法的作用,本质上都是向开发人员推荐功能相同或者相似的web api。
5.各大厂商提供的web api使用说明文档中规定了调用一个web api必须传递的请求参数信息,以及调用此web api后会得到的返回参数信息。开发人员提供的请求数据必须和文档要求的请求参数完全匹配,才能成功调用一个web api并得到正确的响应结果。
6.首先,尽管当前的推荐方法会选出一个和失效web api的功能相同或者相似的web api,但是由于推荐出来的新web api的请求参数和失效web api的请求参数,从参数个数到参数类型都是不完全相同的,因此开发人员不能直接用新的web api把失效web api替换掉,而是要阅读新web api的开发文档,按照说明文档的要求提供指定的请求参数,重新调用这个新的web api。开发人员根据web api说明文档重新准备请求参数的过程仍耗费开发人员巨大的精力。
7.其次,当前的推荐方法是从web api功能这一粒度出发选出和失效的web api功能相同或者相似的web api,而开发人员在使用web api时,使用的正是web api调用后得到的返回参数值,因此如果选出的新web api的返回参数和失效web api的返回参数并不一定相同(如果恰好丢失了核心返回参数值),这个新web api也是无法使用的。换而言之,当前推荐方法推荐出的新web api,尽管在功能上和失效web api保持一致,但是也不能保证新web api一定可以替换失效web api。
8.并且,当前的推荐方法太繁琐,要么需要考虑历史关系,要么需要进行主题建模,
在推荐过程中需要分析的数据量和信息量过于庞大,流程复杂且效果一般。
9.综上,现有推荐方法并不能帮助开发人员推荐完全契合需求的webapi,并且无法解决web api替换过程中的自动替换和请求参数转换遇到的问题。
技术实现要素:
10.针对现有技术的不足,本发明提供一种面向web api调用的请求参数转换方法,通过将请求参数划分为七种类型,并利用请求参数之间的依赖关系,只需要根据开发人员提供的请求数据和指定的返回数据,就可以向开发人员更加精准的推荐契合开发需求的新web api,并能帮助开发人员解决用新web api自动替换失效web api时的请求参数转换问题,进而实现当一个web api失效时,在不需要阅读新web api的开发文档并提供指定的请求参数的情况下,就可以使用一个新的web api自动替换掉失效的web api,保证相同的系统效果的情况下,简化软件开发过程。
11.一种面向web api调用的请求参数转换方法,具体包括以下步骤:
12.步骤1:构建web api实验数据集;所述web api实验数据集包含多条结构化的web api实验数据,web api实验数据包含请求参数集、返回参数集和基础信息;其中请求参数集中包含了若干个请求参数,一个请求参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段、是否必填字段和示例字段;返回参数集中包含了若干个返回参数,一个返回参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段和示例字段;基础信息包括:web api的功能描述、调用地址、调用方法以及调用示例;
13.步骤1.1:爬取并筛选web api说明文档;
14.首先从各大saas厂商提供的开发者平台上,爬取大量的web api说明文档,然后通过关键字匹配方法筛选出高质量的,说明完整的web api说明文档;
15.所述通过关键字匹配进行筛选,具体为:预设定好要匹配的关键字,包括:接口基本信息、请求地址、请求参数、请求示例、返回参数、响应示例,如果一个web api说明文档包含所有关键字,则保留该说明文档;如果一个web api说明文档不完全包含所有关键字,则剔除此说明文档;
16.步骤1.2:构建数据集;
17.从筛选出的web api的说明文档中,将每一个web api说明文档的数据以结构化数据形式存储到数据库中;同时,根据开发文档中参数说明,将请求参数与请求参数之间的依赖关系以及请求参数与返回参数的依赖关系也存储到数据库中;
18.步骤2:对上述构建的web api实验数据集进行分类;
19.具体为:根据数据集中每个web api的功能描述,通过朴素贝叶斯算法将其进行分类;
20.步骤3:对web api实验数据集中每一个web api的每一个原生请求参数和原生返回参数进行标准化;
21.利用word2vec模型通过将单词转换为向量形式,把对文本内容的处理转换成空间中的向量运算,然后计算向量空间上的相似度,来表示文本语义上的相似度;
22.步骤3.1:初始化;
23.初始化前,apistdreq为空,此时将第一个web api的请求参数集直接加入到
apistdreq中,作为apistdreq的初始数据,将第一个web api的返回参数集直接加入到apistdres中,作为apistdreq的初始数据;
24.步骤3.2:标准化;
25.接着,将数据集中下一个web api的一个请求参数apireqi的字段描述信息送入word2vec模型,得到该字段描述信息的一组词向量,然后将这组词向量作为该apireqi的特征向量;
26.计算apireqi的特征向量与标准化请求参数集apistdreq中的每一个apistdreqj的特征向量的余弦相似度,得到一组余弦相似度值,将其中最大的余弦相似度值作为apireqi和apistdreqj的语义相似度值sim_score
max
;
27.当sim_score
max
》=0.9时,则建立该apireqi与该apistdreqj之间的映射关系;当sim_score
max
《0.9时,则将apireqi作为一个新的标准化请求参数,加入到apistdreq中;最后为整个web api实验数据集构造出一个标准化请求参数集apistdreq;
28.同理,对数据集中所有web api的返回参数做上述处理,得到一个标准化返回参数集apistdres。
29.步骤3.3:重复执行步骤3.2,直至实验数据集中所有web api处理完毕;
30.步骤4:划分实验数据集中web api的每个请求参数apireqi的类型;
31.将全部的web api请求参数分为两大类,七小种;第一大类分为“是否必填”、“决定调用是否成功”、“影响部分返回参数”和“依赖于某些请求参数”四种;第二大类分为“必须开发人员提供”、“可用默认值填充”和“可用假值填充”三种;一个请求参数能同时属于多种类型;
32.步骤4.1:判断apireqi是否属于“是否必填”和“可用默认值填充”类型;
33.具体为:从数据库中读取apireqi的是否必填字段和示例字段;如果是否必填字段的值为
[0034]“y”,则apireqi是“是否必填”类型;如果示例字段有值即不为空,则apireqi属于“可用默认值填充”类型;
[0035]
步骤4.2:判断apireqi是否属于“决定调用是否成功”和“必须开发人员提供”类型;
[0036]
在对多个web api进行说明文档分析和真实调用后,共归纳出若干个对web api的调用起决定性作用的请求参数,它们组成集合determinedreq,以及确定了若干个必须由开发人员提供的请求参数,它们组成集合depreq;
[0037]
如果apireqi属于determinedreq,则它属于类型“决定调用是否成功”;如果apireqi属于depreq,则它属于类型“必须开发人员提供”;
[0038]
步骤4.3:判断apireqi是否属于“影响部分返回参数”和“依赖于某些请求参数”类型;
[0039]
从数据库中读取apireqi的依赖关系,判断它是否属于“影响部分返回参数”、“依赖于某些请求参数”类型;
[0040]
步骤4.4:若apireqi均不属于步骤4.1、4.2、4.3中的类型,将其自动归为类型“可用假值填充”;
[0041]
步骤5:对用户提供的请求数据进行转换,得到可用于成功调用候选web api的完
整请求参数及其值;
[0042]
步骤5.1:标准化用户提供的请求数据和指定的返回数据;
[0043]
将开发人员提供的请求数据userreq和指定的返回数据userres,使用word2vec模型,分别与标准化请求参数集stdreq和标准化返回参数集stdres进行语义相似度计算,得到开发人员提供的请求数据对应的标准化请求参数userstdreq,以及指定的返回数据对应的标准化返回参数userstdres;
[0044]
步骤5.2:获取web api候选集api_candidates;
[0045]
根据上一步得到的userstdres,与每个web api对应的标准化返回参数apistdres做对比,如果apistdres完全包含userstdres,就将此apistdres对应的web api加入到web api候选集中;
[0046]
步骤5.3:构建每个候选web api的cq;
[0047]
对于每个候选web api的每一个请求参数,如果它属于“是否必填”、“决定调用是否成功”、“影响部分返回参数”这三种类型之一,直接将它加入到cq中;如果它属于“依赖于某些请求参数”这一类型,就将它依赖的请求参数加入到cq中;
[0048]
步骤5.4:填充cq值;
[0049]
对于cq中每个请求参数cq,首先判断开发人员是否提供了该cq,如果没有提供,将该cq加入到缺失的请求参数集cq_missing中;对于cq_missing中的每个cqm,如果它的类型是“必须开发人员提供”,那么必须向开发人员二次索取数据;如果它的类型是“可用默认值填充”,那么将从维护的请求参数默认值表中获取该cqm的值进行填充;如果它的类型是“可用假值填充”;那么将从维护的请求参数假值表中获取该cqm的值进行填充;
[0050]
请求参数转换结束,得到每个候选web api的cq及其值。
[0051]
采用上述技术方案所产生的有益效果在于:
[0052]
本发明提供的与现有技术相比,本发明提出的技术方案革新了传统的web api推荐方法,本方法通过从参数字段这一细粒度出发,使得web api的推荐效果更加精准,大大简化了推荐过程,并且通过计算参数字段的语义相似度进行请求参数转换,使得web api实现自动替换。本方法不仅考虑了web api的功能与当前开发需求是否契合,而且考虑了web api调用后得到的返回参数是否满足当前系统需要。
附图说明
[0053]
图1为本发明一种面向web api调用的请求参数转换方法流程图;
[0054]
图2本发明实施例某web api的部分请求参数截图。
具体实施方式
[0055]
下面结合附图和实施例,对本发明作进一步详细描述。
[0056]
本发明在推荐与开发需求契合的web api时,不仅考虑了web api的功能,而且考虑了web api的请求参数和返回参数,从参数字段这一粒度来推荐web api,使得推荐出来的web api更加贴合开发人员的需求。
[0057]
本发明通过将请求参数划分为七种类型,每一种类型有对应的值填充方法,并考虑了请求参数和返回参数之间、请求参数与请求参数之间的依赖关系,可以将两个web api
之间的请求参数进行自动转换,从而使得当一个web api失效时,选出的新web api可以自动替换失效web api,不需要开发人员花费额外的时间精力去阅读说明文档和准备请求参数。
[0058]
本方案使用的自主构造的数据集作为实验数据。一种面向web api调用的请求参数转换方法,如附图1所示,包括下列步骤:
[0059]
步骤1:构建web api实验数据集;所述web api实验数据集包含多条结构化的web api实验数据,web api实验数据包含请求参数集、返回参数集和基础信息;其中请求参数集中包含了若干个请求参数,一个请求参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段、是否必填字段和示例字段;返回参数集中包含了若干个返回参数,一个返回参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段和示例字段;基础信息包括:web api的功能描述、调用地址、调用方法以及调用示例;
[0060]
步骤1.1:爬取并筛选web api说明文档;
[0061]
首先从各大saas厂商提供的开发者平台上,爬取大量的web api说明文档,然后通过关键字匹配方法筛选出高质量的,说明完整的web api说明文档;
[0062]
所述通过关键字匹配进行筛选,具体为:预设定好要匹配的关键字,包括:接口基本信息、请求地址、请求参数、请求示例、返回参数、响应示例,如果一个web api说明文档包含所有关键字,则保留该说明文档;如果一个web api说明文档不完全包含所有关键字,则剔除此说明文档;
[0063]
步骤1.2:构建数据集;
[0064]
从筛选出的web api的说明文档中,将每一个web api说明文档的数据以结构化数据形式存储到数据库中;同时,根据开发文档中参数说明,将请求参数与请求参数之间的依赖关系以及请求参数与返回参数的依赖关系也存储到数据库中;
[0065]
步骤2:对上述构建的web api实验数据集进行分类;
[0066]
具体为:根据数据集中每个web api的功能描述,通过朴素贝叶斯算法将其进行分类;
[0067]
附图2为某web api的部分请求参数截图;
[0068]
实验数据集中web api类别以及每一个类的个数。这里的web api类别不是步骤2的分类,只是在收集数据时的大类,比如说物流web api中包含了:创建一个订单api、获取订单物流信息api,订单取消api、物流轨迹推送api等api。
[0069]
步骤2的分类,是将所有web api,分类成更细的类别。
[0070][0071]
步骤3:对web api实验数据集中每一个web api的每一个原生请求参数和原生返回参数进行标准化;
[0072]
利用word2vec模型通过将单词转换为向量形式,把对文本内容的处理转换成空间中的向量运算,然后计算向量空间上的相似度,来表示文本语义上的相似度;
[0073]
步骤3.1:初始化;
[0074]
初始化前,apistdreq为空,此时将第一个web api的请求参数集直接加入到apistdreq中,作为apistdreq的初始数据,将第一个web api的返回参数集直接加入到apistdres中,作为apistdreq的初始数据;
[0075]
步骤3.2:标准化;
[0076]
接着,将数据集中下一个web api的一个请求参数apireqi的字段描述信息送入word2vec模型,得到该字段描述信息的一组词向量,然后将这组词向量作为该apireqi的特征向量;
[0077]
计算apireqi的特征向量与标准化请求参数集apistdreq中的每一个apistdreqj的特征向量的余弦相似度,得到一组余弦相似度值,将其中最大的余弦相似度值作为apireqi和apistdreqj的语义相似度值sim_score
max
;
[0078]
当sim_score
max
》=0.9时,则建立该apireqi与该apistdreqj之间的映射关系;当sim_score
max
《0.9时,则将apireqi作为一个新的标准化请求参数,加入到apistdreq中;最后为整个web api实验数据集构造出一个标准化请求参数集apistdreq;
[0079]
同理,对数据集中所有web api的返回参数做上述处理,得到一个标准化返回参数集apistdres。
[0080]
步骤3.3:重复执行步骤3.2,直至实验数据集中所有web api处理完毕;
[0081]
步骤4:划分实验数据集中web api的每个请求参数apireqi的类型;
[0082]
将全部的web api请求参数分为两大类,七小种;第一大类分为“是否必填”、“决定调用是否成功”、“影响部分返回参数”和“依赖于某些请求参数”四种;第二大类分为“必须开发人员提供”、“可用默认值填充”和“可用假值填充”三种;一个请求参数能同时属于多种类型;
[0083]
步骤4.1:判断apireqi是否属于“是否必填”和“可用默认值填充”类型;
[0084]
具体为:从数据库中读取apireqi的是否必填字段和示例字段;如果是否必填字段的值为
[0085]“y”,则apireqi是“是否必填”类型;如果示例字段有值即不为空,则apireqi属于“可用默认值填充”类型;
[0086]
步骤4.2:判断apireqi是否属于“决定调用是否成功”和“必须开发人员提供”类型;
[0087]
在对1200多个web api进行说明文档分析和真实调用后,共归纳出6个对web api的调用起决定性作用的请求参数,如:应用密钥、用户的权限签名等,这6个请求组成集合determinedreq,以及确定了17个必须由开发人员提供的请求参数,如:目标语言、用户输入的关键词、目的地等,这17个请求组成集合depreq;
[0088]
如果apireqi属于determinedreq,则它属于类型“决定调用是否成功”;如果apireqi属于depreq,则它属于类型“必须开发人员提供”;
[0089]
步骤4.3:判断apireqi是否属于“影响部分返回参数”和“依赖于某些请求参数”类型;
[0090]
从数据库中读取apireqi的依赖关系,判断它是否属于“影响部分返回参数”、“依赖于某些请求参数”类型;
[0091]
步骤4.4:若apireqi均不属于步骤4.1、4.2、4.3中的类型,将其自动归为类型“可用假值填充”;
[0092]
步骤5:对用户提供的请求数据进行转换,得到可用于成功调用候选web api的完整请求参数及其值;
[0093]
步骤5.1:标准化用户提供的请求数据和指定的返回数据;
[0094]
将开发人员提供的请求数据userreq和指定的返回数据userres,使用word2vec模型,分别与标准化请求参数集stdreq和标准化返回参数集stdres进行语义相似度计算,得到开发人员提供的请求数据对应的标准化请求参数userstdreq,以及指定的返回数据对应的标准化返回参数userstdres;
[0095]
步骤5.2:获取web api候选集api_candidates;
[0096]
根据上一步得到的userstdres,与每个web api对应的标准化返回参数apistdres做对比,如果apistdres完全包含userstdres,就将此apistdres对应的web api加入到web api候选集中;
[0097]
步骤5.3:构建每个候选web api的cq;
[0098]
对于每个候选web api的每一个请求参数,如果它属于“是否必填”、“决定调用是否成功”、“影响部分返回参数”这三种类型之一,直接将它加入到cq中;如果它属于“依赖于某些请求参数”这一类型,就将它依赖的请求参数加入到cq中;
[0099]
步骤5.4:填充cq值;
[0100]
对于cq中每个请求参数cq,首先判断开发人员是否提供了该cq,如果没有提供,将该cq加入到缺失的请求参数集cq_missing中;对于cq_missing中的每个cqm,如果它的类型是“必须开发人员提供”,那么必须向开发人员二次索取数据;如果它的类型是“可用默认值填充”,那么将从维护的请求参数默认值表中获取该cqm的值进行填充;如果它的类型是“可用假值填充”;那么将从维护的请求参数假值表中获取该cqm的值进行填充;
[0101]
请求参数转换结束,得到每个候选web api的cq及其值。
[0102]
评价指标及其值;
[0103][0104]
转换成功率:将用户提供的不完整的请求参数成功转换为cq的比例,比如有100组不完整的请求参数,通过请求参数转换算法后,有93组请求参数能成功转换成cq。
技术特征:
1.一种面向web api调用的请求参数转换方法,其特征在于,具体包括以下步骤:步骤1:构建web api实验数据集;步骤2:对上述构建的web api实验数据集进行分类;步骤3:对web api实验数据集中每一个web api的每一个原生请求参数和原生返回参数进行标准化;利用word2vec模型通过将单词转换为向量形式,把对文本内容的处理转换成空间中的向量运算,然后计算向量空间上的相似度,来表示文本语义上的相似度;步骤4:划分实验数据集中web api的每个请求参数apireq
i
的类型;将全部的web api请求参数分为两大类,七小种;第一大类分为“是否必填”、“决定调用是否成功”、“影响部分返回参数”和“依赖于某些请求参数”四种;第二大类分为“必须开发人员提供”、“可用默认值填充”和“可用假值填充”三种;一个请求参数能同时属于多种类型;步骤5:对用户提供的请求数据进行转换,得到可用于成功调用候选web api的完整请求参数及其值。2.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤1所述web api实验数据集包含多条结构化的web api实验数据,web api实验数据包含请求参数集、返回参数集和基础信息;其中请求参数集中包含了若干个请求参数,一个请求参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段、是否必填字段和示例字段;返回参数集中包含了若干个返回参数,一个返回参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段和示例字段;基础信息包括:web api的功能描述、调用地址、调用方法以及调用示例。3.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤1具体为:步骤1.1:爬取并筛选web api说明文档;首先从各大saas厂商提供的开发者平台上,爬取大量的web api说明文档,然后通过关键字匹配方法筛选出高质量的,说明完整的web api说明文档;所述通过关键字匹配进行筛选,具体为:预设定好要匹配的关键字,包括:接口基本信息、请求地址、请求参数、请求示例、返回参数、响应示例,如果一个web api说明文档包含所有关键字,则保留该说明文档;如果一个web api说明文档不完全包含所有关键字,则剔除此说明文档;步骤1.2:构建数据集;从筛选出的web api的说明文档中,将每一个web api说明文档的数据以结构化数据形式存储到数据库中;同时,根据开发文档中参数说明,将请求参数与请求参数之间的依赖关系以及请求参数与返回参数的依赖关系也存储到数据库中。4.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤2根据数据集中每个web api的功能描述,通过朴素贝叶斯算法将其进行分类。5.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤3具体为:步骤3.1:初始化;
初始化前,apistdreq为空,此时将第一个web api的请求参数集直接加入到apistdreq中,作为apistdreq的初始数据,将第一个web api的返回参数集直接加入到apistdres中,作为apistdreq的初始数据;步骤3.2:标准化;接着,将数据集中下一个web api的一个请求参数apireq
i
的字段描述信息送入word2vec模型,得到该字段描述信息的一组词向量,然后将这组词向量作为该apireq
i
的特征向量;计算apireq
i
的特征向量与标准化请求参数集apistdreq中的每一个apistdreq
j
的特征向量的余弦相似度,得到一组余弦相似度值,将其中最大的余弦相似度值作为apireq
i
和apistdreq
j
的语义相似度值sim_score
max
;当sim_score
max
>=0.9时,则建立该apireq
i
与该apistdreq
j
之间的映射关系;当sim_score
max
<0.9时,则将apireq
i
作为一个新的标准化请求参数,加入到apistdreq中;最后为整个web api实验数据集构造出一个标准化请求参数集apistdreq;同理,对数据集中所有web api的返回参数做上述处理,得到一个标准化返回参数集apistdres;步骤3.3:重复执行步骤3.2,直至实验数据集中所有web api处理完毕。6.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤4具体为:步骤4.1:判断apireq
i
是否属于“是否必填”和“可用默认值填充”类型;具体为:从数据库中读取apireq
i
的是否必填字段和示例字段;如果是否必填字段的值为“y”,则apireq
i
是“是否必填”类型;如果示例字段有值即不为空,则apireq
i
属于“可用默认值填充”类型;步骤4.2:判断apireq
i
是否属于“决定调用是否成功”和“必须开发人员提供”类型;在对多个web api进行说明文档分析和真实调用后,共归纳出若干个对web api的调用起决定性作用的请求参数,它们组成集合determinedreq,以及确定了若干个必须由开发人员提供的请求参数,它们组成集合depreq;如果apireq
i
属于determinedreq,则它属于类型“决定调用是否成功”;如果apireq
i
属于depreq,则它属于类型“必须开发人员提供”;步骤4.3:判断apireq
i
是否属于“影响部分返回参数”和“依赖于某些请求参数”类型;从数据库中读取apireq
i
的依赖关系,判断它是否属于“影响部分返回参数”、“依赖于某些请求参数”类型;步骤4.4:若apireq
i
均不属于步骤4.1、4.2、4.3中的类型,将其自动归为类型“可用假值填充”。7.根据权利要求1所述的一种面向web api调用的请求参数转换方法,其特征在于,步骤5具体为:步骤5.1:标准化用户提供的请求数据和指定的返回数据;将开发人员提供的请求数据userreq和指定的返回数据userres,使用word2vec模型,分别与标准化请求参数集stdreq和标准化返回参数集stdres进行语义相似度计算,得到开发人员提供的请求数据对应的标准化请求参数userstdreq,以及指定的返回数据对应的标
准化返回参数userstdres;步骤5.2:获取web api候选集api_candidates;根据上一步得到的userstdres,与每个web api对应的标准化返回参数apistdres做对比,如果apistdres完全包含userstdres,就将此apistdres对应的web api加入到web api候选集中;步骤5.3:构建每个候选web api的cq;对于每个候选web api的每一个请求参数,如果它属于“是否必填”、“决定调用是否成功”、“影响部分返回参数”这三种类型之一,直接将它加入到cq中;如果它属于“依赖于某些请求参数”这一类型,就将它依赖的请求参数加入到cq中;步骤5.4:填充cq值;对于cq中每个请求参数cq,首先判断开发人员是否提供了该cq,如果没有提供,将该cq加入到缺失的请求参数集cq_missing中;对于cq_missing中的每个cqm,如果它的类型是“必须开发人员提供”,那么必须向开发人员二次索取数据;如果它的类型是“可用默认值填充”,那么将从维护的请求参数默认值表中获取该cqm的值进行填充;如果它的类型是“可用假值填充”;那么将从维护的请求参数假值表中获取该cqm的值进行填充;请求参数转换结束,得到每个候选web api的cq及其值。
技术总结
本发明设计一种面向Web API调用的请求参数转换方法,涉及Web API智能匹配领域和Web API推荐领域;通过将请求参数划分为七种类型,并利用请求参数之间的依赖关系,只需要根据开发人员提供的请求数据和指定的返回数据,就可以向开发人员更加精准的推荐契合开发需求的新Web API,并能帮助开发人员解决用新Web API自动替换失效Web API时的请求参数转换问题,进而实现当一个Web API失效时,在不需要阅读新Web API的开发文档并提供指定的请求参数的情况下,就可以使用一个新的Web API自动替换掉失效的Web API,保证相同的系统效果的情况下,简化软件开发过程。简化软件开发过程。
技术研发人员:张佳佳 李冬 陈果 刘子扬 苑鹏 朱志良 于海
受保护的技术使用者:北京科创汇捷科技发展有限公司
技术研发日:2023.03.29
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
