花了大半天,写了个springdoc/springfox/swagger文档转word的工具
Posted 水中加点糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了花了大半天,写了个springdoc/springfox/swagger文档转word的工具相关的知识,希望对你有一定的参考价值。
背景
领导让我们把项目中的上百个接口用word写一个接口文档,每个项目都用了swagger,只是有的是swagger2.0的有的是swagger3.0的。
说给我1天的时间,给我分了几十个,让手动写一天。我很好奇说这个不能直接把swagger地址丢给对方吗,或者用公司统一的接口管理平台EOLINKER,领导表示不行,说调用方是外部用户直接给swagger行不通,eolinker的话也没有时间录入了,现在只能手写。
没办法后就只能手写了。我写了几个后表示这波操作确实难受。
难受的原因主要是:首先没有啥技术含量,且浪费大量的时间,让找个小学初中生都可以搞定这事。操作过程就是ctrl+c/v,再调调样式,写完后再一个一个地核对,几百个接口时还要好几个同事一起来干这事着实感觉没必要。
开源项目swagger2word
想到既然项目中都用到了swagger,何不直接解析swagger的api的json文件就可以了。想到这里就在网上搜了下,果真找到了一个开源项目:swagger2word。
clone下来这个项目后觉得原作者确实牛逼,想法很不错也进行了对应的实现。不过拿过来用时感觉还是有2个小主要问题:
- 不支持3.0版本的api参数解析
- 缺少仅筛选某个项目中部分接口文档的功能
网上也有一个支持3.0版本的,不过没有开源,仅有在线版。地址为:swagger转word文档。
正因为没有源码,如果需要对word界面进行调整就不方便了。大致看了下原项目的源码也还算不复杂,所以我决定自己做一版并进行开源,支持3.0版本api格式的同时还支持excel导入的方式仅导出指定的api。
扩展版开源项目swagger2word
用了一下午的时间完成了上面2个功能开发,并支持了docker独立部署功能。在这里给大家分享一下:
源码地址为:
https://github.com/puhaiyang/swagger2word
主要用了策略模式将3.0的解析代码进行了一个处理,如果后续有其他版本的swagger接口协议又需要解析时,就可以直接在上面扩展了。
excel导入方式预览:
项目对应的swagger界面预览:
excel方式的导出结果预览:
导出word文档预览
详细使用说明见源码README文件
源码地址为:
https://github.com/puhaiyang/swagger2word
以上是关于花了大半天,写了个springdoc/springfox/swagger文档转word的工具的主要内容,如果未能解决你的问题,请参考以下文章
花了大半天,写了个springdoc/springfox/swagger文档转word的工具