一种接口文档自动生成typescript类型定义文件的方法和装置与流程

文档序号:31879466发布日期:2022-10-21 22:48阅读:288来源:国知局
一种接口文档自动生成typescript类型定义文件的方法和装置与流程

1.本技术涉及人工智能技术领域,尤其涉及一种接口文档自动生成typescript类型定义文件的方法和装置。


背景技术:

2.当前前端开发typescript应用越来越广泛,众所周知javascript是弱类型,很多错误只有在运行时才会被发现,而typescript是强类型,它提供了一套静态检测机制,如果开发在编码过程中变换变量的类型,typescript就会报错,帮助我们及时发现错误,特别是在大型项目中,typescript就是前端的标配。
3.为了能充分利用typescript的类型能力,来规范后端给前端提供接口的字段类型,通常我们也会根据接口文档来编写前端代码接口的类型定义,实际在开发过程中,每个接口都可能存在大量的字段,这个时候去照着接口文档搬运类型定义,不得不说是非常枯燥无聊的,更别说在搬运过程中也有出错的可能。因此,亟待提供一种接口文档自动生成typescript类型定义文件的方法。


技术实现要素:

4.本技术提供一种接口文档自动生成typescript类型定义文件的方法和装置,旨在实现接口文档的typescript类型定义文件自动生成,提高代码开发效率和降低人工输入造成的错误率。
5.第一方面,本技术提供一种接口文档自动生成typescript类型定义文件的方法,包括:
6.采用预设插件获取当前页面的接口文档;
7.根据所述接口文档分别确定请求字段和返回字段;
8.根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型;
9.根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件。
10.可选的,所述采用预设插件获取当前页面的接口文档,具体包括:
11.接收到接口文档生成请求后,对接口文档生成插件的applicationrunner接口的实现类进行调用;
12.所述接口文档生成插件对所述应用系统的源码当中所有以controller结尾或者带有@restcontroller注解的类进行扫描,获取所述类的注释作为接口访问url的前缀;
13.所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@requestmapping注解的value作为接口访问url的后缀以及获取所述@requestmapping注解中的methodtype作为方法访问的类型;
14.所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
15.所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定是否扫描到所述@return注释,是则获取所述@return注释作为所述接口文档生成插件的接口输出参数,否则所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数;
16.所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问url的前缀、接口访问url的后缀、方法访问的类型、接口输出参数和接口输出参数;
17.所述接口文档生成插件接收接口访问url的访问指令再根据其从所述本地缓存中获取相应的接口内容并将其组装作为接口文档。
18.可选的,所述根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件,具体包括:
19.输入所述请求字段和所述返回字段各自对应的字段名称和字段类型,对不同接口文档进行解析,并输出类型标量;
20.判断输入的接口文档语言是否为基本类型,若是则将其类型标量、类型名称和类型值加入待输出的类型队列中,否则进入下一步;
21.生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;
22.合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后typescript类型定义文件。
23.可选的,所述输出最终转换后typescript类型定义文件,具体为:
24.获取与所述目标程序代码对应的预设模板;
25.确定所有字段以及所有子字段之间的层级关系;
26.将所述字段的字段名称和字段类型,以及所述字段对应的子字段的字段名称和字段类型,按照所述层级关系,导入所述预设模板中,生成转换后typescript类型定义文件。
27.第二方面,本技术提供一种接口文档自动生成typescript类型定义文件的装置,包括:
28.获取模块,用于采用预设插件获取当前页面的接口文档;
29.确定模块,用于根据所述接口文档分别确定请求字段和返回字段;
30.处理模块,用于根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型;
31.生成模块,用于根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件。
32.可选的,所述获取模块具体用于:
33.接收到接口文档生成请求后,对接口文档生成插件的applicationrunner接口的实现类进行调用;
34.所述接口文档生成插件对所述应用系统的源码当中所有以controller结尾或者
带有@restcontroller注解的类进行扫描,获取所述类的注释作为接口访问url的前缀;
35.所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@requestmapping注解的value作为接口访问url的后缀以及获取所述@requestmapping注解中的methodtype作为方法访问的类型;
36.所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
37.所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定是否扫描到所述@return注释,是则获取所述@return注释作为所述接口文档生成插件的接口输出参数,否则所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数;
38.所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问url的前缀、接口访问url的后缀、方法访问的类型、接口输出参数和接口输出参数;
39.所述接口文档生成插件接收接口访问url的访问指令再根据其从所述本地缓存中获取相应的接口内容并将其组装作为接口文档。
40.可选的,所述生成模块具体用于:
41.输入所述请求字段和所述返回字段各自对应的字段名称和字段类型,对不同接口文档进行解析,并输出类型标量;
42.判断输入的接口文档语言是否为基本类型,若是则将其类型标量、类型名称和类型值加入待输出的类型队列中,否则进入下一步;
43.生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;
44.合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后typescript类型定义文件。
45.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
46.所述存储器存储计算机执行指令;
47.所述处理器执行所述存储器存储的计算机执行指令,以实现上述第一方面所述的方法。
48.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述第一方面所述的方法。
49.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的方法。
50.本技术提供的一种接口文档自动生成typescript类型定义文件的方法和装置,采用预设插件获取当前页面的接口文档;根据所述接口文档分别确定请求字段和返回字段;根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型;根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生
成所述目标程序代码对应的typescript类型定义文件,可以避免用户手动编写接口文档的typescript类型定义文件的现象,从而不仅可以提高typescript类型定义文件生成的效率,而且可以降低软件系统开发的成本。
附图说明
51.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
52.图1为本技术一示例性实施例提供的一种接口文档自动生成typescript类型定义文件的方法的流程示意图;
53.图2为本技术另一示例性实施例提供的接口文档自动生成typescript类型定义文件的装置的示意图;
54.图3为本技术另一示例性实施例提供的一种电子设备的结构示意图。
55.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
56.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
57.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
58.图1为本技术一示例性实施例提供的一种接口文档自动生成typescript类型定义文件的方法流程图。如图1所示,本发明实施例提供的一种接口文档自动生成typescript类型定义文件的方法具体步骤如下:
59.步骤s101:采用预设插件获取当前页面的接口文档。
60.具体的,接收到接口文档生成请求后,对接口文档生成插件的applicationrunner接口的实现类进行调用;
61.所述接口文档生成插件对所述应用系统的源码当中所有以controller结尾或者带有@restcontroller注解的类进行扫描,获取所述类的注释作为接口访问url的前缀;
62.所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@requestmapping注解的value作为接口访问url的后缀以及获取所述@requestmapping注解中的methodtype作为方法访问的类型;
63.所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
64.所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定是否
扫描到所述@return注释,是则获取所述@return注释作为所述接口文档生成插件的接口输出参数,否则所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数;
65.所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问url的前缀、接口访问url的后缀、方法访问的类型、接口输出参数和接口输出参数;
66.所述接口文档生成插件接收接口访问url的访问指令再根据其从所述本地缓存中获取相应的接口内容并将其组装作为接口文档。
67.步骤s102:根据所述接口文档分别确定请求字段和返回字段。
68.示例性的,在确定请求字段时,可以获取目标程序代码中多个类,针对每个类,若该类对应的代码注解中包括第一标识符标识的注解信息,且根据该第一标识符标识的注解信息确定该类为请求类,则将请求类中的字段确定为请求字段。
69.步骤s103:根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型。
70.对任意一个类,都能够确定出该类的所有属性和方法,而且对任何一个对象,都能够调用该对象的任意方法和属性。因此,终端设备在确定出请求字段和返回字段后,可以获取到请求字段和返回字段各自对应的字段名称和字段类型。
71.步骤s104:根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件。
72.具体的,输入所述请求字段和所述返回字段各自对应的字段名称和字段类型,对不同接口文档进行解析,并输出类型标量;判断输入的接口文档语言是否为基本类型,若是则将其类型标量、类型名称和类型值加入待输出的类型队列中,否则进入下一步;生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后typescript类型定义文件。
73.对不同接口文档进行解析,并输出接口类型标量,该类型标量用于映射转换接口文档类型与typescript的基本类型,其中typescript基本类型内容包括:接口名称及其对应的接口类型、接口类型字段。
74.进一步的,获取与所述目标程序代码对应的预设模板;确定所有字段以及所有子字段之间的层级关系;将所述字段的字段名称和字段类型,以及所述字段对应的子字段的字段名称和字段类型,按照所述层级关系,导入所述预设模板中,生成转换后typescript类型定义文件。
75.在本实施例中,通过获取目标程序代码对应的接口文档,并将该接口文档导入预设模板中,从而不仅可以使接口文档更完整,而且可以有效区分不同接口的接口文档,便于开发人员的使用,提高了用户体验。另外,预设模板中还包括有请求字段的相关信息和返回字段的相关信息。因此,终端设备在确定出请求字段和返回字段各自对应的字段名称和字段类型后,可以将该请求字段和返回字段各自对应的字段名称和字段类型导入到预设模板中,从而生成接口文档的typescript类型定义文件。
76.示例性的,在生成目标程序代码对应的接口文档的typescript类型定义文件时,可以通过获取与目标程序代码对应的预设模板,并确定所有字段以及所有子字段之间的层级对应关系,然后将字段的字段名称和字段类型,以及字段对应的子字段的字段名称和字段类型,按照该层级对应关系,导入预设模板中,生成接口文档的typescript类型定义文件。
77.本技术提供的一种接口文档自动生成typescript类型定义文件的方法和装置,采用预设插件获取当前页面的接口文档;根据所述接口文档分别确定请求字段和返回字段;根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型;根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件,可以避免用户手动编写接口文档的typescript类型定义文件的现象,从而不仅可以提高typescript类型定义文件生成的效率,而且可以降低软件系统开发的成本。
78.图2为本技术一示例性实施例提供的一种接口文档自动生成typescript类型定义文件的装置的结构示意图。本技术实施例提供的一种接口文档自动生成typescript类型定义文件的装置可以执行一种接口文档自动生成typescript类型定义文件的方法实施例提供的处理流程。如图2所示,本技术提供的一种接口文档自动生成typescript类型定义文件的装置20包括:
79.获取模块201,用于采用预设插件获取当前页面的接口文档;
80.确定模块202,用于根据所述接口文档分别确定请求字段和返回字段;
81.处理模块203,用于根据接口文档的源程序类型,分别获取所述请求字段和所述返回字段各自对应的字段名称和字段类型;
82.生成模块204,用于根据所述请求字段和所述返回字段各自对应的字段名称和字段类型,自动生成所述目标程序代码对应的typescript类型定义文件。
83.可选的,获取模块201具体用于:
84.接收到接口文档生成请求后,对接口文档生成插件的applicationrunner接口的实现类进行调用;
85.所述接口文档生成插件对所述应用系统的源码当中所有以controller结尾或者带有@restcontroller注解的类进行扫描,获取所述类的注释作为接口访问url的前缀;
86.所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@requestmapping注解的value作为接口访问url的后缀以及获取所述@requestmapping注解中的methodtype作为方法访问的类型;
87.所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
88.所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定是否扫描到所述@return注释,是则获取所述@return注释作为所述接口文档生成插件的接口输出参数,否则所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数;
89.所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问url的前缀、接口访问url的后缀、方法访问的类型、接口输出参数和接口输出参数;
90.所述接口文档生成插件接收接口访问url的访问指令再根据其从所述本地缓存中获取相应的接口内容并将其组装作为接口文档。
91.可选的,生成模块204具体用于:
92.输入所述请求字段和所述返回字段各自对应的字段名称和字段类型,对不同接口文档进行解析,并输出类型标量;
93.判断输入的接口文档语言是否为基本类型,若是则将其类型标量、类型名称和类型值加入待输出的类型队列中,否则进入下一步;
94.生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;
95.合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后typescript类型定义文件。
96.本技术实施例提供的装置可以具体用于执行上述图1对应方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
97.图3为本技术一示例实施例提供的电子设备的结构示意图。如图3所示,该电子设备30包括:处理器301,以及与处理器301通信连接的存储器302,存储器302存储计算机执行指令。
98.其中,处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。该电子设备可以为上述提及的服务器。
99.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
100.本技术实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
101.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
102.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1