花了大半天,写了个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的工具

女朋友想减肥,程序员花了3天写了个卡路里计数器

女朋友想减肥,程序员花了3天写了个卡路里计数器

SpringDoc (spring boot) utf-8 json 标头响应文档

三百行代码完成一个简单的rpc框架

图片放大功能如何做?jquery实现