[发明专利]生成API文档的方法、系统、设备及存储介质在审
申请号: | 202110568595.0 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113296752A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 卢俊杰 | 申请(专利权)人: | 平安养老保险股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/73;G06F9/455 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 饶文彬 |
地址: | 200120 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 api 文档 方法 系统 设备 存储 介质 | ||
1.一种生成API文档的方法,其特征在于,包括以下步骤:
通过在Java虚拟机中加载预设的代理程序从所述Java虚拟机中运行的Java字节码中获取所有的Java类;
从获取的所述Java类中,过滤出暴露目标API的类,所述目标API至少存在一个;
从所述暴露目标API的类中过滤出所述暴露目标API的方法;
从所述暴露目标API的方法中提取出参数信息以及注解信息;
将每一个目标API的注解信息与参数信息进行合并,生成所述每一个目标API对应的第一Java对象,并将所述第一Java对象存储至内存中;
将所述第一Java对象转化成第一Json报文;
将所述第一Json报文导入Swagger框架以通过所述Swagger框架将所述第一Json报文转化成API文档。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述Java虚拟机中拦截接收到的服务请求;
得到所述服务请求中包含的统一资源定位器信息、请求方法信息及请求头信息;
从所述内存中找到与所述统一资源定位器信息、所述请求方法信息及所述请求头信息相对应的第二Java对象;
根据所述请求头信息从所述服务请求中获取请求参数;
将所述请求参数与所述第二Java对象中的参数进行比较,并按照比较结果调整所述第二Java对象中的参数;
将调整后的第二Java对象转化为新的Json报文。
3.根据权利要求2所述的方法,其特征在于,所述根据所述请求头信息从所述服务请求中获取请求参数包括:
根据所述请求头信息中的内容类型信息,通过调用预设方法从所述服务请求中获取请所述求参数信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述请求参数与所述第二Java对象中的参数进行比较的比较结果,调整所述第二Java对象中的参数,包括:
若所述比较结果为所述请求参数和所述第二Java对象的中的参数名相同,则将所述参数名对应的字段标记为预设数值,以在生成新的Json报文时保留所述字段。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取用户预先设置的过滤条件,所述过滤条件包括所述预设数值对应的字段,与非预设数值对应的字段;
所述将调整后的第二Java对象转化为新的Json报文包括:
将调整后的第二Java对象中满足所述过滤条件的字段过滤掉,得到过滤后的第二Java对象;
将过滤后的第二Java对象转化为新的Json报文。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述通过在Java虚拟机中加载预设的代理程序从所述Java虚拟机中运行的Java字节码中获取所有的Java类包括:
通过所述代理程序调用预设的类加载器,从所述Java虚拟机中运行的Java字节码中获取所有的Java类。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述从获取的所述Java类中,过滤出暴露API的类包括:
通过调用所述Java中的方法,过滤出存在控制器类注解的Java类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安养老保险股份有限公司,未经平安养老保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110568595.0/1.html,转载请声明来源钻瓜专利网。