基于swagger文档的类型声明文件生成方法及装置制造方法及图纸

技术编号:30648409 阅读:54 留言:0更新日期:2021-11-04 01:01
本申请实施例提供了一种基于swagger文档的类型声明文件生成方法,所述方法包括:获取多个接口的接口请求路径;获取开发项目对应的swagger文档中包含的JSON数据;根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体;根据各个接口的第一数据结构体从所述JSON数据中获取预设类型的第一字段数据,以及根据各个接口的第二数据结构体从所述JSON数据中获取所述预设类型的第二字段数据;将各个接口对应的第一字段数据与各个接口对应的第二字段数据按照预设的第一类型声明文件生成规则生成所述开发项目的类型声明文件。本申请可以避免生成的内容过于臃肿。肿。肿。

【技术实现步骤摘要】
基于swagger文档的类型声明文件生成方法及装置


[0001]本申请实施例涉及计算机
,尤其涉及一种基于swagger文档的类型声明文件生成方法及装置。

技术介绍

[0002]随着互联网技术的发展,网站的前端与后端开始分离。在前端与后端的交互过程中API(Application Programming Interface,应用程序编程接口)接口便成为一个重要的途径。API文档也因此成了开发人员与其他工作人员的重要纽带。Swagger是一种API开发工具,可用编写Swagger文档。Swagger文档是前后端联调过程中,后端人员提供给前端开发人员的文档,属于双方的一个共同约定。
[0003]现有技术中,在生成Swagger文档后,可以通过Swagger

to

ts插件将该Swagger文档生成类型声明文件,然而,专利技术人发现,现有的Swagger

to

ts插件在生成类型声明文件时都是先将所有的类型生成一个文件,然后再去依次获取调用,导致生成的内容过于臃肿,调用使用时非常不方便。

技术实现思路

[0004]本申请实施例的目的是提供一种基于swagger文档的类型声明文件生成方法及装置、计算机设备及计算机可读存储介质,以解决现有的Swagger

to

ts插所生成的内容过于臃肿,导致调用使用时非常不方便的问题。
[0005]本申请实施例的一个方面提供了一种基于swagger文档的类型声明文件生成方法,所述方法包括:
[0006]获取多个接口的接口请求路径;
[0007]获取开发项目对应的swagger文档中包含的JSON数据;
[0008]根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体;
[0009]根据各个接口的第一数据结构体从所述JSON数据中获取预设类型的第一字段数据,以及根据各个接口的第二数据结构体从所述JSON数据中获取所述预设类型的第二字段数据;
[0010]将各个接口对应的第一字段数据与各个接口对应的第二字段数据按照预设的第一类型声明文件生成规则生成所述开发项目的类型声明文件。
[0011]可选地,所述方法还包括:
[0012]根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的接口信息,所述接口信息包括接口的描述信息、接口请求路径、接口的入参信息以及接口的出参信息;
[0013]将各个接口的接口信息按照预设的第二类型声明文件生成规则生成所述开发项
目的前端接口文件;
[0014]将所述前端接口文件插入所述类型声明文件中。
[0015]可选地,所述获取多个接口的接口请求路径包括:
[0016]获取所述开发项目的配置文件;
[0017]从所述配置文件中读取用户配置的接口请求路径筛选条件;
[0018]根据所述接口请求路径筛选条件确定多个接口的接口请求路径。
[0019]可选地,所述根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体包括:
[0020]根据接口请求路径遍历所述JSON数据,并从所述JSON数据中找到第一个接口的入参信息以及出参信息;
[0021]分别从所述第一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体;
[0022]根据所述接口请求路径继续遍历所述JSON数据,并从所述JSON数据中获取下一个接口的入参信息和出参信息,以及从下一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体,直至所有接口的第一数据结构体和第二数据结构体获取完毕为止。
[0023]可选地,所述分别从所述第一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体包括:
[0024]对包含所述第一个接口的入参信息的第一数组进行循环解析,以从所述第一数组中解析得到所述第一数组中的最后一个字段,并将得到的最后一个字段作为所述第一数据结构体;
[0025]对包含所述第一个接口的出参信息的第二数组进行循环解析,以从所述第二数组中解析得到所述第二数组中的最后一个字段,并将得到的最后一个字段作为所述第二数据结构体。
[0026]可选地,所述根据各个接口的第一数据结构体从所述JSON数据中获取预设类型的第一字段数据包括:
[0027]根据各个接口的第一数据结构体从所述JSON数据中获取与所述第一数据结构体相匹配的第三数组;
[0028]从所述第三数组中获取所述预设类型的第一字段数据;
[0029]所述根据各个接口的第二数据结构体从所述JSON数据中获取所述预设类型的第二字段数据包括:
[0030]根据各个接口的第二数据结构体从所述JSON数据中获取与所述第二数据结构体相匹配的第四数组;
[0031]从所述第四数组中获取所述预设类型的第二字段数据。
[0032]可选地,所述方法还包括:
[0033]轮询获取开发项目对应的swagger文档中包含的JSON数据;
[0034]判断新获取到的JSON数据是否发生变化,若发生变化,则返回执行根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包
含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体的步骤,并生成提示消息。
[0035]本申请实施例的再一个方面提供了一种基于swagger文档的类型声明文件生成装置,包括:
[0036]第一获取模块,用于获取多个接口的接口请求路径;
[0037]第二获取模块,用于获取开发项目对应的swagger文档中包含的JSON数据;
[0038]遍历模块,用于根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体;
[0039]第三获取模块,用于根据各个接口的第一数据结构体从所述JSON数据中获取预设类型的第一字段数据,以及根据各个接口的第二数据结构体从所述JSON数据中获取所述预设类型的第二字段数据;
[0040]生成模块,用于将各个接口对应的第一字段数据与各个接口对应的第二字段数据按照预设的第一类型声明文件生成规则生成所述开发项目的类型声明文件。
[0041]本申请实施例的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上任一项所述的方法的步骤。
[0042]本申请实施例的又一个方面提供了一种计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于swagger文档的类型声明文件生成方法,特征在于,所述方法包括:获取多个接口的接口请求路径;获取开发项目对应的swagger文档中包含的JSON数据;根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体;根据各个接口的第一数据结构体从所述JSON数据中获取预设类型的第一字段数据,以及根据各个接口的第二数据结构体从所述JSON数据中获取所述预设类型的第二字段数据;将各个接口对应的第一字段数据与各个接口对应的第二字段数据按照预设的第一类型声明文件生成规则生成所述开发项目的类型声明文件。2.根据权利要求1所述的基于swagger文档的类型声明文件生成方法,其特征在于,所述方法还包括:根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的接口信息,所述接口信息包括接口的描述信息、接口请求路径、接口的入参信息以及接口的出参信息;将各个接口的接口信息按照预设的第二类型声明文件生成规则生成所述开发项目的前端接口文件;将所述前端接口文件插入所述类型声明文件中。3.根据权利要求1所述的基于swagger文档的类型声明文件生成方法,其特征在于,所述获取多个接口的接口请求路径包括:获取所述开发项目的配置文件;从所述配置文件中读取用户配置的接口请求路径筛选条件;根据所述接口请求路径筛选条件确定多个接口的接口请求路径。4.根据权利要求1所述的基于swagger文档的类型声明文件生成方法,其特征在于,所述根据多个接口的接口请求路径遍历所述JSON数据,并从所述JSON数据中获取每一个接口的入参信息中包含的第一数据结构体及每一个接口的出参信息中包含的第二数据结构体包括:根据接口请求路径遍历所述JSON数据,并从所述JSON数据中找到第一个接口的入参信息以及出参信息;分别从所述第一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体;根据所述接口请求路径继续遍历所述JSON数据,并从所述JSON数据中获取下一个接口的入参信息和出参信息,以及从下一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体,直至所有接口的第一数据结构体和第二数据结构体获取完毕为止。5.根据权利要求4所述的基于swagger文档的类型声明文件生成方法,其特征在于,所述分别从所述第一个接口的入参信息和出参信息中获取第一数据结构体和第二数据结构体包括:对包含所述第一个接口的入参信息的第一数组进行循环解析,以从所述第一数组中解析得到所述第一数组...

【专利技术属性】
技术研发人员:杜官峰
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

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

1