[发明专利]生成API文档的方法、系统、设备及存储介质在审
申请号: | 202110568595.0 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113296752A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 卢俊杰 | 申请(专利权)人: | 平安养老保险股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/73;G06F9/455 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 饶文彬 |
地址: | 200120 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 api 文档 方法 系统 设备 存储 介质 | ||
一种生成API文档的方法、系统、设备及存储介质,其中生成API文档的方法包括以下步骤:通过在Java虚拟机中加载预设的代理程序从所述Java虚拟机中运行的Java字节码中获取所有的Java类;从获取的所述Java类中,过滤出暴露目标API的类,所述目标API至少存在一个;从所述暴露目标API的类中过滤出所述暴露目标API的方法;从所述暴露目标API的方法中提取出参数信息以及注解信息;将每一个目标API的注解信息与参数信息进行合并,生成所述每一个目标API对应的第一Java对象,并将所述第一Java对象存储至内存中;将所述第一Java对象转化成第一Json报文;将所述第一Json报文导入Swagger框架以通过所述Swagger框架将所述第一Json报文转化成API文档。
技术领域
本发明涉及于软件开发技术领域,尤其一种生成API文档的方法、系统、设备及存储介质。
背景技术
Java是现有的具有可移植性的用于编写程序的高级编程语言,其中系统和应用程序通过应用程序接口(API,Application Programming Interface)进行通信。其中API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节;而API文档是一个关于API的技术内容交付文件,包含如何有效地使用和集成API的说明。它是一个简明的参考手册,包含了使用API所需的所有信息,详细介绍了函数、类、返回类型、参数等。
然而在使用Java进行研发过程中,跨平台或跨系统的API调用需要通过使用API文档中关于API的调用及其涉及到的参数的解释说明来进行通信交互规范。一般来说,API文档通过人工撰写的方式或者自动化生成的方式来形成的。
对于API文档自动生成的方式来说,现业内在开发过程中,API文档会通过使用Swagger这个框架来生成,但是通过Swagger框架进行API的文档生成存在着以下问题。
问题一、在Swagger框架下需要研发人员在编写业务代码的同时在代码中加入大量的关于Swagger框架的Swagger注解用来生成相关的API文档,而Swagger注解随着业务代码在编译阶段带入Java字节码中,在业务代码实际运行的时候Swagger框架的功能会一直占用业务代码的Java虚拟机(JVM)的内存。
问题二、在项目后期将Swagger注解剥离出来十分困难。
问题三、开发人员修改了API之后需要不断维护侵入式地跟进业务代码的Swagger注解以维护API文档和代码的一致性,消耗了开发人员的时间和精力的同时还增加了项目推进的时间。
综上所述,由于通过Swagger生成API文档的过程中,至少存在上述3个问题,导致使用Swagger注解来生成API文档时具有许多不便和负担。
发明内容
本发明的一个目的在于提供一种生成API文档的方法、系统、设备及存储介质,其中所述生成API文档的方法根据API的Java字节码并通过Swagger框架生成API文档,以减少代码注解对开发人员和计算机产生负担。
为了实现上述目的,本发明提供一种生成API文档的方法,包括以下步骤:
通过在Java虚拟机中加载预设的代理程序从所述Java虚拟机中运行的Java字节码中获取所有的Java类;
从获取的所述Java类中,过滤出暴露目标API的类,所述目标API至少存在一个;
从所述暴露目标API的类中过滤出所述暴露目标API的方法;
从所述暴露目标API的方法中提取出参数信息以及注解信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安养老保险股份有限公司,未经平安养老保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110568595.0/2.html,转载请声明来源钻瓜专利网。