一种基于注释和反射生成接口文档的方法技术

技术编号:32754480 阅读:17 留言:0更新日期:2022-03-23 18:50
本发明专利技术提供了一种基于注释和反射生成接口文档的方法,当启动应用系统时,其会启动接口文档生成插件开始工作,接口文档生成插件通过利用Javadoc API和反射对应用系统当中的数据进行获取并将其保存到本地缓存中,数据包括接口访问URL的前缀、接口访问URL的后缀、方法访问的类型、接口输出参数和接口输出参数;当用户在浏览器端输入接口访问URL进行访问后,接口文档生成插件会自动将接口文档输出到浏览器端进行呈现,实现得到接口文档,接口文档上还显示了下载Markdown文件或下载Postman配置文件的下载按钮,用户通过鼠标指针对该下载按钮进行单击后,接口文档生成插件会根据本地缓存中的数据利用模板生成技术生成Markdown文件或Postman配置文件并其输出到浏览器端上。上。上。

【技术实现步骤摘要】
一种基于注释和反射生成接口文档的方法


[0001]本专利技术涉及计算机
,具体是一种基于注释和反射生成接口文档的方法。

技术介绍

[0002]在一般的开发过程中,如果涉及到和其他系统进行交互的情况,则需要编写接口文档供用户进行参考开发,现有技术中,接口文档通过开发人员手工编写,缺点是手工编写工作量大,浪费了开发人员的开发时间。

技术实现思路

[0003]本专利技术的目的在于提供一种基于注释和反射生成接口文档的方法,其通过系统启动事件在系统加载完成后扫描源代码中的所有接口类,将包含@RestController的接口类中需要暴露的方法解析成json数据保存在本地缓存中。开发人员可采用标准的Javadoc注释配置查询条件和结果字段,在本专利技术的运行阶段,接口文档生成插件将动态地对查询条件和输出结果字段进行组装,再将组装好的接口描述信息返回到页面中获得接口文档,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:
[0005]一种基于注释和反射生成接口文档的方法,包括以下步骤:
[0006]应用系统接收启动指令进行启动;
[0007]所述应用系统启动后对接口文档生成插件的ApplicationRunner接口的实现类进行调用,所述接口文档生成插件开始工作;
[0008]所述接口文档生成插件对所述应用系统的源码当中所有以Controller结尾或者带有@RestController注解的类进行扫描,获取所述类的注释作为接口访问URL的前缀;
[0009]所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@RequestMapping注解的value作为接口访问URL的后缀以及获取所述@RequestMapping注解中的MethodType作为方法访问的类型;
[0010]所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
[0011]所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定是否扫描到所述@return注释,是则获取所述@return注释作为所述接口文档生成插件的接口输出参数,否则所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数;
[0012]所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问URL的前缀、接口访问URL的后缀、方法访问的类型、接口输出参数和接口输出参数;
[0013]所述接口文档生成插件接收接口访问URL的访问指令再根据其从所述本地缓存中获取相应的接口内容并将其组装作为接口文档,然后将其输出并呈现。
[0014]进一步地,所述接口文档生成插件接收下载指令再根据其利用模板生成技术进行生成并输出得到模板文件。
[0015]进一步地,所述模板文件为Markdown文件或Postman配置文件。
[0016]本专利技术的有益效果:
[0017]与现有技术相比,通过本专利技术无需专门为接口文档编写代码,在开发过程中只需按照标准的Javadoc格式编写应用系统的注释,当启动应用系统时,其会启动接口文档生成插件开始工作,接口文档生成插件通过利用Javadoc API和反射对应用系统当中的数据进行获取并将其保存到本地缓存中,数据包括接口访问URL的前缀、接口访问URL的后缀、方法访问的类型、接口输出参数和接口输出参数;
[0018]当用户在浏览器端输入接口访问URL进行访问后,接口文档生成插件会自动将接口文档输出到浏览器端进行呈现,实现得到接口文档,接口文档上还显示了下载Markdown文件或下载Postman配置文件的下载按钮,用户通过鼠标指针对该下载按钮进行单击后,接口文档生成插件会根据本地缓存中的数据利用模板生成技术生成Markdown文件或Postman配置文件并其输出到浏览器端上。
附图说明
[0019]图1:本专利技术的方框流程示意图。
具体实施方式
[0020]以下结合附图对本专利技术进行进一步说明:
[0021]请参照图1,一种基于注释和反射生成接口文档的方法,包括以下步骤:
[0022]S1、应用系统接收启动指令进行启动;
[0023]S2、所述应用系统启动后对接口文档生成插件的ApplicationRunner接口的实现类进行调用,实现所述接口文档生成插件开始工作;
[0024]S3、所述接口文档生成插件对所述应用系统的源码当中所有以Controller结尾或者带有@RestController注解的类进行扫描,获取所述类的注释作为接口访问URL的前缀;
[0025]S4、所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔,即输入名称|中文名称|类型|是否必填|备注;
[0026]S5、所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@RequestMapping注解的value作为接口访问URL的后缀以及获取所述@RequestMapping注解中的MethodType作为方法访问的类型,比如GET、POS、PUT、DELETE等类型;
[0027]S6、所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;
[0028]S7、所述接口文档生成插件对所述类所有的方法的@return注释进行扫描并判定
是否扫描到所述@return注释,是则跳转步骤S7

1,否则跳转步骤S7

2;
[0029]S7

1、获取所述@return注释作为所述接口文档生成插件的接口输出参数,跳转步骤S8;
[0030]S7

2、所述接口文档生成插件利用反射对所述方法的返回对象进行获取并对所述返回对象属性的注释进行解析,获取所述注释的解析作为所述接口文档生成插件的接口输出参数,跳转步骤S8;
[0031]S8、所述接口文档生成插件将数据按照不同的接口分类存储到本地缓存中,其中所述数据包括接口访问URL的前缀、接口访问URL的后缀、方法访问的类型、接口输出参数和接口输出参数;
[0032]S9、所述接口文档生成插件接收来自浏览器端的接口访问URL的访问指令并根据其从所述本地缓存中获取相应的接口内容且将其组装作为接口文档,然后将其输出并呈现在浏览器端;
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于注释和反射生成接口文档的方法,其特征在于:包括以下步骤:应用系统接收启动指令进行启动;所述应用系统启动后对接口文档生成插件的ApplicationRunner接口的实现类进行调用,所述接口文档生成插件开始工作;所述接口文档生成插件对所述应用系统的源码当中所有以Controller结尾或者带有@RestController注解的类进行扫描,获取所述类的注释作为接口访问URL的前缀;所述接口文档生成插件对所述类所有的方法进行扫描,获取所述方法中的@RequestMapping注解的value作为接口访问URL的后缀以及获取所述@RequestMapping注解中的MethodType作为方法访问的类型;所述接口文档生成插件对所述类所有的方法的@param注释进行扫描,获取所述@param注释中的内容作为接口输入参数,然后通过竖杠对所述接口输入参数中的输入名称、中文名称、类型、是否必填以及备注进行分隔;所述接口文档生成插件对所述类所有的方法的@return注释进行扫描...

【专利技术属性】
技术研发人员:罗挺
申请(专利权)人:东莞数汇大数据有限公司
类型:发明
国别省市:

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

1