接口变化的检测方法及装置制造方法及图纸

技术编号:27876615 阅读:24 留言:0更新日期:2021-03-31 00:53
本申请公开了一种接口变化的检测方法及装置。其中,该方法包括:获取第一版本的第一接口文档和第二版本的第二接口文档;从第一接口文档中提取应用接口的第一输入输出参数和第一访问路径参数,从第二接口文档中提取所述应用接口的第二输入输出参数和第二访问路径参数;检测所述第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测所述第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息;输出所述第一接口变化信息和第二接口变化信息。本申请解决了相关技术中在确定接口文档中发生变化的接口和参数时,效率比较低的技术问题。

【技术实现步骤摘要】
接口变化的检测方法及装置
本申请涉及软件开发领域,具体而言,涉及一种接口变化的检测方法及装置。
技术介绍
在进行项目开发和版本迭代过程中,尤其是前后端分离的项目,后端开发人员与前端开发人员在进行接口对接的过程中,后端开发人员需要告知前端开发人员新增了哪些接口,已有的接口中哪些接口的哪些参数进行了修改。如果后端开发人员手动整理接口变化的文档,非常耗时而且容易出错。为解决上述问题,目前在java后端web开发中,通过引入Swagger文档,只需要在相关的应用程序接口(api)和类上添加相应注解即可生成接口相关的文档。但是,这种基于swagger文档来人为地查看哪些接口的哪些参数发生了变化,工作量大而且容易出错针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种接口变化的检测方法及装置,以至少解决相关技术中在确定接口文档中发生变化的接口和参数时,效率比较低的技术问题。根据本申请实施例的一个方面,提供了一种接口变化的检测方法,包括:获取第一版本的第一接口文档和第二版本的第二接口文档;从第一接口文档中提取应用接口的第一输入输出参数和第一访问路径参数,从第二接口文档中提取应用接口的第二输入输出参数和第二访问路径参数;检测第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息;输出第一接口变化信息和第二接口变化信息。可选地,检测第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息,包括:将第一输入输出参数和第二输出输入参数加载至与第一接口文档对应的第一实例中,将第一访问路径参数和第二访问路径参数加载至与第二接口文档对应的第二实例中;比较第一实例中第一类字段与第二实例中的第一类字段的差异,得到第一接口变化信息,其中,第一类型字段用于定义第一接口文档和第二接口文档中的输入输出参数;以及比较第一实例中第二类字段与第二实例中的第二类字段的差异,得到第二接口变化信息,其中,第二类字段用于定义第一接口文档和第二接口文档中的访问路径参数;可选地,比较第一实例中第一类字段与第二实例中的第一类字段的差异,得到第一接口变化信息,包括以下至少之一:确定第一类字段中在第一实例中存在且在第二实例不存在的删除类,将所删除类作为第一接口变化信息;确定第一类字段中在第一实例中不存在且在第二实例存在的新增类,将新增类作为第一接口变化信息;确定第一类字段中在第一实例和第二实例中均存在的公共类,确定公共类中每个对象在第一实例和第二实例中的差异,得到第一接口变化信息。可选地,确定公共类中每个对象在第一实例和第二实例中的差异,包括:检测公共类中目标对象的类型;在所述类型为第一类型时,比较目标对象在第一实例中第一类型和第二实例中的第一类型之间的差异;在所述类型为第二类型时,则获取目标对象中的目标属性,其中,目标属性用于引用其他定义字段来定义目标对象;确定与目标属性对应的目标对象,并继续确定目标属性对应的对象在第一实例和第二实例之间的差异;在所述类型为第三类型时,遍历目标对象中的属性类中的子类,并确定该子类在第一实例和第二实例之间的差异。可选地,目标对象包括:简单Java对象POJO;第一类型包括:基本类型,该基本类型包括以下至少之一:整数型、长整型、布尔类型、字符串型;第二类型包括:数组;第三类型包括:对象object类。可选地,比较第一实例中第二类字段与第二实例中的第二类字段的差异,得到第二接口变化信息,包括:确定第二类字段中在第一实例中存在且在第二实例不存在的接口,将确定结果作为第二接口变化信息;确定第二类字段中在第一实例中不存在且在第二实例存在的接口,将确定结果作为第二接口变化信息;确定第一类字段中在第一实例和第二实例中均存在的公共接口,确定公共接口中每个接口在第一实例和第二实例中的差异,得到第二接口变化信息。可选地,确定公共接口中每个接口在第一实例和第二实例中的差异,包括以下至少之一:确定每个接口对应的请求方式在第一实例和第二实例中的差异;确定每个接口的参数属性中的子参数在第一实例和第二实例中的差异;确定每个接口的响应方式在第一实例和第二实例中的差异。可选地,确定每个接口的参数属性中的子参数在第一实例和第二实例中的差异,包括:确定每个接口的参数属性中的名称参数在第一实例和第二实例中的差异;在名称参数在第一实例和第二实例中相同时,确定参数属性中的类型参数在第一实例和第二实例中的差异。可选地,输出第一接口变化信息和第二接口变化信息,包括以下之一:基于第一接口变化信息和第二接口变化信息生成检测报告,并输出检测报告;或者,在第二版本高于第一版本的情况下,在第二接口文档中突出显示第一接口变化信息和第二接口变化信息。根据本申请实施例的一个方面,提供了一种接口变化的检测装置,包括:获取模块,用于获取第一版本的第一接口文档和第二版本的第二接口文档;提取模块,用于从第一接口文档中提取应用接口的第一输入输出参数和第一访问路径参数,从第二接口文档中提取应用接口的第二输入输出参数和第二访问路径参数;检测模块,用于检检测第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息;输出模块,用于输出第一接口变化信息和第二接口变化信息。根据本申请实施例的一个方面,提供了一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行如上所述的接口变化的检测方法。根据本申请实施例的一个方面,提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在所述程序运行时控制非易失性存储介质所在设备执行以上所述的接口变化的检测方法。根据本申请实施例的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以上所述的接口变化的检测方法。在本申请实施例中,采用确定输入输出参数和访问路径参数在第一版本的第一接口文档和第二版本的第二接口文档中的差异,并基于差异确定接口变化信息的方式,由于可以自动地对提取上述参数,并检测参数之间的差异,因此,可以实现自动检测接口变化信息的目的,进而解决了相关技术中在确定接口文档中发生变化的接口和参数时,效率比较低的技术问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种接口变化的检测方法的流程图;图2是根据本申请实施例的一种接口变化的检测装置的结构示意图;图3是根据本申请实施例的一种电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中本文档来自技高网
...

【技术保护点】
1.一种接口变化的检测方法,其特征在于,包括:/n获取第一版本的第一接口文档和第二版本的第二接口文档;/n从所述第一接口文档中提取应用接口的第一输入输出参数和第一访问路径参数,从第二接口文档中提取所述应用接口的第二输入输出参数和第二访问路径参数;/n检测所述第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测所述第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息;/n输出所述第一接口变化信息和第二接口变化信息。/n

【技术特征摘要】
1.一种接口变化的检测方法,其特征在于,包括:
获取第一版本的第一接口文档和第二版本的第二接口文档;
从所述第一接口文档中提取应用接口的第一输入输出参数和第一访问路径参数,从第二接口文档中提取所述应用接口的第二输入输出参数和第二访问路径参数;
检测所述第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测所述第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息;
输出所述第一接口变化信息和第二接口变化信息。


2.根据权利要求1所述的方法,其特征在于,检测所述第一输入输出参数和第二输入输出参数的差异,得到第一接口变化信息,以及检测所述第一访问路径参数中和第二访问路径参数的差异,得到第二接口变化信息,包括:
将所述第一输入输出参数和第二输出输入参数加载至与所述第一接口文档对应的第一实例中,将所述第一访问路径参数和第二访问路径参数加载至与所述第二接口文档对应的第二实例中;
比较所述第一实例中第一类字段与所述第二实例中的第一类字段的差异,得到所述第一接口变化信息,其中,所述第一类型字段用于定义所述第一接口文档和第二接口文档中的输入输出参数;以及
比较所述第一实例中第二类字段与所述第二实例中的第二类字段的差异,得到所述第二接口变化信息,其中,所述第二类字段用于定义所述第一接口文档和第二接口文档中的访问路径参数。


3.根据权利要求2所述的方法,其特征在于,比较所述第一实例中第一类字段与所述第二实例中的第一类字段的差异,得到所述第一接口变化信息,包括以下至少之一:
确定所述第一类字段中在第一实例中存在且在所述第二实例不存在的删除类,将所删除类作为所述第一接口变化信息;
确定所述第一类字段中在第一实例中不存在且在所述第二实例存在的新增类,将所述新增类作为所述第一接口变化信息;
确定所述第一类字段中在所述第一实例和第二实例中均存在的公共类,确定所述公共类中每个对象在所述第一实例和第二实例中的差异,得到所述第一接口变化信息。


4.根据权利要求3所述的方法,其特征在于,确定所述公共类中每个对象在所述第一实例和第二实例中的差异,包括:
检测所述公共类中目标对象的类型;
在所述类型为第一类型时,比较所述目标对象在所述第一实例中第一类型和第二实例中的第一类型之间的差异;
在所述类型为第二类型时,则获取所述目标对象中的目标属性,其中,所述目标属性用于引用其他定义字段来定义所述目标对象;确定与所述目标属性对应的目标对象,并继续确定所述目标属性对应的对象在所述第一实例和第二实例之间的差异;
在所述类型为第三类型时,遍历所述目标对象中的属性类中的子类,并确定该子类在所述第一实例和第二实例之间的差异。

【专利技术属性】
技术研发人员:王福伟
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1