一种接口文档的生成方法、装置、存储介质及电子设备与流程

专利2022-06-29  73


本申请实施例涉及计算机技术领域,尤其涉及一种接口文档的生成方法、装置、存储介质及电子设备。



背景技术:

随着科技水平的迅速发展,各种平台不断的在推出新的软件以及对已有软件进行更新,以满足用户的需求。

软件开发过程中,接口提供方和接口使用方之间需要维护接口文档,但维护此接口文档会有投入人力和不能实时更新等很多问题。其中,接口提供方需要在接口变动的时,手动更新接口文档,如果未及时更新,就会重新调用错误;接口提供方在源码级别已经写好文档,又要在一个接口公共平台重新编写,效率低下。



技术实现要素:

本申请实施例提供一种接口文档的生成方法、装置、存储介质及电子设备,以实现自动生成接口文档,以降低接口文档的管理维护成本的目的。

第一方面,本申请实施例提供了一种接口文档的生成方法,该方法包括:

通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

可选的,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。

可选的,根据所述源码数据,确定目标接口的文档参数,包括:

根据所述源码数据,确定目标接口类别;

根据所述目标接口类别,确定与目标接口类别对应的java类;

按照与所述java类相匹配的预设策略获取目标接口的文档参数。

可选的,若所述目标接口为rest接口,则所述目标接口的java类为controller;

若所述目标接口为rpc接口,则所述目标接口的java类为interface。

可选的,按照与所述java类相匹配的预设策略获取目标接口的文档参数,包括:

按照与所述java类相匹配的预设策略获,依次获取目标接口请求路径、请求方式、入参类型和返回值类型,以得到目标接口的文档参数。

可选的,通过javadoc插件读取目标接口的源码数据,包括:

通过javadoc插件提供的doclet接口对目标接口的源码数据进行读取。

第二方面,本申请实施例提供了一种接口文档的生成装置,该装置包括:

文档参数确定模块,用于通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

接口文档生成模块,用于基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

可选的,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器运行时实现如本申请实施例所述的接口文档的生成方法。

第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器运行所述计算机程序时实现如本申请实施例所述的接口文档的生成方法。

本申请实施例所提供的技术方案,通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。通过采用本申请所提供的技术方案,可以实现直接通过javadoc,利用被广泛使用的maven插件来实现插件式,无入侵地动态地生成接口文档的目的。

附图说明

图1是本申请实施例一提供的接口文档的生成方法的流程图;

图2是本申请实施例一提供的接口文档的生成流程的示意图;

图3是本申请实施例一提供的接口文档的生成架构的示意图;

图4是本申请实施例二提供的接口文档的生成装置的结构示意图;

图5是本申请实施例四提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本申请实施例一提供的接口文档的生成方法的流程图,本实施例可适于生成接口文件的情况,该方法可以由本申请实施例所提供的接口文档的生成装置运行,该装置可以由软件和/或硬件的方式来实现,并可集成于智能终端等电子设备中。

如图1所示,所述接口文档的生成方法包括:

s110、通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数。

其中,大部分公司的开发规范,都会规定开发人员对每个接口编写javadoc文档,javadoc文档是开发人员最熟悉的接口文档编写方式,也是最直观的方式。目标接口的源码数据可以是对接口进行编写的数据。

在本实施例中,优选的,通过javadoc插件读取目标接口的源码数据,包括:通过javadoc插件提供的doclet接口对目标接口的源码数据进行读取。

javadoc是sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的api帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过javadoc就可以同时形成程序的开发文档了。javadoc命令是用来生成自己api文档的,使用方式:使用命令行在目标文件所在目录输入javadoc 文件名.java。

在通过javadoc插件读取目标接口的源码数据之后,可以根据源码数据确定目标接口的文档参数。

在本方案中,可选的,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。其中,请求方式和请求路径可以是通过检测来确定的,入参和返回值可以包括入参本身和入参的参数类型。本技术方案,可以在获取到目标接口的文档参数之后,通过获取目标接口的所有文档参数,作为目标接口的描述基础。这样设置的好处是可以简便灵活的获取到目标接口的所有文档参数。

在本实施例中,优选的,根据所述源码数据,确定目标接口的文档参数,包括:根据所述源码数据,确定目标接口类别;根据所述目标接口类别,确定与目标接口类别对应的java类;按照与所述java类相匹配的预设策略获取目标接口的文档参数。

在本实施例中,可选的,若所述目标接口为rest接口,则所述目标接口的java类为controller;若所述目标接口为rpc接口,则所述目标接口的java类为interface。

其中,目标接口类别可以包括rest和prc两种类别,其中rest接口对应的接口分类为controller,rpc接口对应的接口分类为interface。实现过程中javadoc主要针对controller和interface两个类进行分析处理,可以快速并准确的对各种类别的目标接口的文档参数进行描述。

s120、基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

其中,可以在读取之后分析api的类型(rest/rpc)、请求方式、请求路径、入参和返回值,生成maven插件。在maven工程中,可以执行maven指令来使用maven插件,以获取到其中的文档参数,并生成目标接口文档。

在上述各技术方案的基础上,可选的,按照与所述java类相匹配的预设策略获取目标接口的文档参数,包括:按照与所述java类相匹配的预设策略获,依次获取目标接口请求路径、请求方式、入参类型和返回值类型,以得到目标接口的文档参数。

具体的,图2是本申请实施例一提供的接口文档的生成流程的示意图。如图2所示,在读取所有类信息之后,判断类类型,包括controller和interface两个类。之后遍历方法,得到各个类的组装api路径。进而获取请求方式的信息,并读取方法注解。读取参数并读取参数注释,判断入参的类型,参数的类型可以包括记清楚基本类型及数组,基本类型包装类及数组以及引用类型及数组,其中引用类型可以是包括引用实体对象的类型。在为引用类型及数组时,需要分析引用对象的属性信息,得到返回值。判断返回值的类型,返回值的类型与入参的类型相类似。确定返回值的类型之后,可以组装api信息,并生成api文档。

本申请实施例所提供的技术方案,通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。通过采用本申请所提供的技术方案,可以实现直接通过javadoc,利用被广泛使用的maven插件来实现插件式,无入侵地动态地生成接口文档的目的。

为了能够让本领域技术人员更加清楚的了解本方案,本申请还提供了了一种具体的实施方式。

图3是本申请实施例一提供的接口文档的生成架构的示意图。如图3所示,本发明主要分为api类别、方法分析、数据类型分析三个模块。

1)api类别。

api主要分为rest和prc两种类别,其中rest接口对应的接口分类为controller,rpc接口对应的接口分类为interface。实现过程中javadoc主要针对controller和interface两个类进行分析处理。

2)方法分析。

api主要由请求方式、请求路径、入参、返回值等部分组成,javadoc将针对这些内容进行分析提取。

3)数据类型分析。

方法的入参和返回值分析主要是针对入参和返回值的数据类型进行解析,获取所有属性详细信息。

本发明所提供的技术方案,通过javadoc的doclet能力,动态实时生成api文档的设计以及可以与任意api平台集成的技术实现。本技术方案简单易用,没有学习成本,开发人员只须关注自己的开发接口的注释信息。并且,很容易与其他api管理平台集成,而且还可以利用cd平台,通过maven插件的能力,在集成的时候,及时更新api文档。

实施例二

图4是本申请实施例二提供的接口文档的生成装置的结构示意图。如图4所示,所述接口文档的生成装置,包括:

文档参数确定模块410,用于通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

接口文档生成模块420,用于基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

本申请实施例所提供的技术方案,通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。通过采用本申请所提供的技术方案,可以实现直接通过javadoc,利用被广泛使用的maven插件来实现插件式,无入侵地动态地生成接口文档的目的。

在上述技术方案的基础上,可选的,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。

上述产品可运行本申请任意实施例所提供的方法,具备运行方法相应的功能模块和有益效果。

实施例三

本申请实施例还提供一种包含计算机可运行指令的存储介质,所述计算机可运行指令在由计算机处理器运行时用于运行一种接口文档的生成方法,该方法包括:

通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被运行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于运行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器运行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可运行指令的存储介质,其计算机可运行指令不限于如上所述的接口文档的生成操作,还可以运行本申请任意实施例所提供的接口文档的生成方法中的相关操作。

实施例四

本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的接口文档的生成装置。图5是本申请实施例四提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520运行,使得所述一个或多个处理器520实现本申请实施例所提供的接口文档的生成方法,该方法包括:

通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。

存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本申请实施例中的接口文档的生成方法对应的程序指令。

存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等设备。

本申请实施例提供的电子设备,可以实现自动生成接口文档,以降低接口文档的管理维护成本的目的。

上述实施例中提供的接口文档的生成装置、存储介质及电子设备可运行本申请任意实施例所提供的接口文档的生成方法,具备运行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的接口文档的生成方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。


技术特征:

1.一种接口文档的生成方法,其特征在于,包括:

通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

2.根据权利要求1所述的方法,其特征在于,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。

3.根据权利要求1所述的方法,其特征在于,根据所述源码数据,确定目标接口的文档参数,包括:

根据所述源码数据,确定目标接口类别;

根据所述目标接口类别,确定与目标接口类别对应的java类;

按照与所述java类相匹配的预设策略获取目标接口的文档参数。

4.根据权利要求3所述的方法,其特征在于,若所述目标接口为rest接口,则所述目标接口的java类为controller;

若所述目标接口为rpc接口,则所述目标接口的java类为interface。

5.根据权利要求3所述的方法,其特征在于,按照与所述java类相匹配的预设策略获取目标接口的文档参数,包括:

按照与所述java类相匹配的预设策略获,依次获取目标接口请求路径、请求方式、入参类型和返回值类型,以得到目标接口的文档参数。

6.根据权利要求2所述的方法,其特征在于,通过javadoc插件读取目标接口的源码数据,包括:

通过javadoc插件提供的doclet接口对目标接口的源码数据进行读取。

7.一种接口文档的生成装置,其特征在于,包括:

文档参数确定模块,用于通过javadoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;

接口文档生成模块,用于基于所述文档参数生成maven插件,以在工程中执行命令时使用所述maven插件生成目标接口文档。

8.根据权利要求7所述的装置,其特征在于,所述目标接口的文档参数包括:请求方式、请求路径、入参和返回值。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的接口文档的生成方法。

10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的接口文档的生成方法。

技术总结
本申请实施例公开了一种接口文档的生成方法、装置、存储介质及电子设备。该方法包括:通过JavaDoc插件读取目标接口的源码数据,并根据所述源码数据,确定目标接口的文档参数;基于所述文档参数生成Maven插件,以在工程中执行命令时使用所述Maven插件生成目标接口文档。通过运行本申请所提供的技术方案,可以实现自动生成接口文档,以降低接口文档的管理维护成本的目的。

技术研发人员:陈浩;章多亮
受保护的技术使用者:江苏满运软件科技有限公司
技术研发日:2020.01.16
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-29697.html

最新回复(0)