• 花了大半天,写了个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导入方式预览:
    导入测试excel

    项目对应的swagger界面预览:
    1.5.2预览

    excel方式的导出结果预览:
    下载
    导出word文档预览
    word效果

    详细使用说明见源码README文件
    源码地址为:
    https://github.com/puhaiyang/swagger2word

    github_readme

  • 相关阅读:
    sqli-labs注入方法总结
    数据库-数据定义和操纵-DML语言的使用
    Java并发编程学习笔记6——共享模型之不可变
    【附源码】Python计算机毕业设计商场会员管理系统
    Java agent 使用详解
    关于 Git 重写历史的一些笔记
    redis进阶:集群模式原理及搭建
    OLAP与OLTP:数据处理系统的比较分析
    using virtualbox in ubuntu
    Linux开发讲课18--- “>file 2>&1“ 和 “2>&1 >file“ 的区别
  • 原文地址:https://blog.csdn.net/puhaiyang/article/details/126468039