一种面向WebAPI调用的请求参数转换方法技术

技术编号:38225429 阅读:13 留言:0更新日期:2023-07-25 17:56
本发明专利技术设计一种面向Web API调用的请求参数转换方法,涉及Web API智能匹配领域和Web API推荐领域;通过将请求参数划分为七种类型,并利用请求参数之间的依赖关系,只需要根据开发人员提供的请求数据和指定的返回数据,就可以向开发人员更加精准的推荐契合开发需求的新Web API,并能帮助开发人员解决用新Web API自动替换失效Web API时的请求参数转换问题,进而实现当一个Web API失效时,在不需要阅读新Web API的开发文档并提供指定的请求参数的情况下,就可以使用一个新的Web API自动替换掉失效的Web API,保证相同的系统效果的情况下,简化软件开发过程。简化软件开发过程。

【技术实现步骤摘要】
一种面向Web API调用的请求参数转换方法


[0001]本专利技术涉及Web API智能匹配领域和Web API推荐领域,尤其涉及一种面向Web API调用的请求参数转换方法。

技术介绍

[0002]随着Web技术的飞速发展,Web服务在Web2.0时代取得了长足的进步,它超越了现有的封闭Web服务,可以自由地打开和共享信息。开发人员不再从零开始开发新系统,而是组合现有的Web服务应用程序编程接口(即Web API)进行软件开发,这已经成为一种高效的方法。开发人员需要根据实际开发需求去寻找契合的Web API,并且在调用Web API时,需要阅读厂商提供的说明文档并提供指定的请求参数,按照开发文档规定的方式成功调用Web API。
[0003]但在Web API数量持续增长的背景下,一旦当前使用的Web API失效,如何根据开发需求寻找新的Web API来替换失效的Web API,以及如何将失效的Web API的请求参数转换为新的Web API的请求参数,这两个问题给软件开发工作带来不小的麻烦。
[0004]为了帮助开发人员更迅速地定位到合适的Web API来替换失效的Web API,多种推荐方法和模型已经被应用于Web API推荐领域。这些推荐方法大致被分为两类,基于协同过滤的推荐方法和基于内容的推荐方法。基于协同过滤的推荐算法通过历史关系来进行预测,通过计算相似度并利用相似信息进行推荐Web API。基于内容的推荐首先对开发的需求进行主题建模,再利用开发需求和Web API之间的相关性进行推荐Web API。以上两类推荐方法的作用,本质上都是向开发人员推荐功能相同或者相似的Web API。
[0005]各大厂商提供的Web API使用说明文档中规定了调用一个Web API必须传递的请求参数信息,以及调用此Web API后会得到的返回参数信息。开发人员提供的请求数据必须和文档要求的请求参数完全匹配,才能成功调用一个Web API并得到正确的响应结果。
[0006]首先,尽管当前的推荐方法会选出一个和失效Web API的功能相同或者相似的Web API,但是由于推荐出来的新Web API的请求参数和失效Web API的请求参数,从参数个数到参数类型都是不完全相同的,因此开发人员不能直接用新的Web API把失效Web API替换掉,而是要阅读新Web API的开发文档,按照说明文档的要求提供指定的请求参数,重新调用这个新的Web API。开发人员根据Web API说明文档重新准备请求参数的过程仍耗费开发人员巨大的精力。
[0007]其次,当前的推荐方法是从Web API功能这一粒度出发选出和失效的Web API功能相同或者相似的Web API,而开发人员在使用Web API时,使用的正是Web API调用后得到的返回参数值,因此如果选出的新Web API的返回参数和失效Web API的返回参数并不一定相同(如果恰好丢失了核心返回参数值),这个新Web API也是无法使用的。换而言之,当前推荐方法推荐出的新Web API,尽管在功能上和失效Web API保持一致,但是也不能保证新Web API一定可以替换失效Web API。
[0008]并且,当前的推荐方法太繁琐,要么需要考虑历史关系,要么需要进行主题建模,
在推荐过程中需要分析的数据量和信息量过于庞大,流程复杂且效果一般。
[0009]综上,现有推荐方法并不能帮助开发人员推荐完全契合需求的WebAPI,并且无法解决Web API替换过程中的自动替换和请求参数转换遇到的问题。

技术实现思路

[0010]针对现有技术的不足,本专利技术提供一种面向Web API调用的请求参数转换方法,通过将请求参数划分为七种类型,并利用请求参数之间的依赖关系,只需要根据开发人员提供的请求数据和指定的返回数据,就可以向开发人员更加精准的推荐契合开发需求的新Web API,并能帮助开发人员解决用新Web API自动替换失效Web API时的请求参数转换问题,进而实现当一个Web API失效时,在不需要阅读新Web API的开发文档并提供指定的请求参数的情况下,就可以使用一个新的Web API自动替换掉失效的Web API,保证相同的系统效果的情况下,简化软件开发过程。
[0011]一种面向Web API调用的请求参数转换方法,具体包括以下步骤:
[0012]步骤1:构建Web API实验数据集;所述Web API实验数据集包含多条结构化的Web API实验数据,Web API实验数据包含请求参数集、返回参数集和基础信息;其中请求参数集中包含了若干个请求参数,一个请求参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段、是否必填字段和示例字段;返回参数集中包含了若干个返回参数,一个返回参数包含若干字段,具体包括:参数名称字段、参数类型字段、参数含义字段和示例字段;基础信息包括:Web API的功能描述、调用地址、调用方法以及调用示例;
[0013]步骤1.1:爬取并筛选Web API说明文档;
[0014]首先从各大SaaS厂商提供的开发者平台上,爬取大量的Web API说明文档,然后通过关键字匹配方法筛选出高质量的,说明完整的Web API说明文档;
[0015]所述通过关键字匹配进行筛选,具体为:预设定好要匹配的关键字,包括:接口基本信息、请求地址、请求参数、请求示例、返回参数、响应示例,如果一个Web API说明文档包含所有关键字,则保留该说明文档;如果一个Web API说明文档不完全包含所有关键字,则剔除此说明文档;
[0016]步骤1.2:构建数据集;
[0017]从筛选出的Web API的说明文档中,将每一个Web API说明文档的数据以结构化数据形式存储到数据库中;同时,根据开发文档中参数说明,将请求参数与请求参数之间的依赖关系以及请求参数与返回参数的依赖关系也存储到数据库中;
[0018]步骤2:对上述构建的Web API实验数据集进行分类;
[0019]具体为:根据数据集中每个Web API的功能描述,通过朴素贝叶斯算法将其进行分类;
[0020]步骤3:对Web API实验数据集中每一个Web API的每一个原生请求参数和原生返回参数进行标准化;
[0021]利用Word2Vec模型通过将单词转换为向量形式,把对文本内容的处理转换成空间中的向量运算,然后计算向量空间上的相似度,来表示文本语义上的相似度;
[0022]步骤3.1:初始化;
[0023]初始化前,apiStdReq为空,此时将第一个Web API的请求参数集直接加入到
apiStdReq中,作为apiStdReq的初始数据,将第一个Web API的返回参数集直接加入到apiStdRes中,作为apiStdReq的初始数据;
[0024]步骤3.2:标准化;
[0025]接着,将数据集中下一个Web API的一个请求参数apiRe本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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...

【专利技术属性】
技术研发人员:张佳佳李冬陈果刘子扬苑鹏朱志良于海
申请(专利权)人:北京科创汇捷科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1