点击上方蓝色字体,选择“标星公众号”
html
优质文章,第一时间送达java
做者 | 惟一浩哥web
来源 | urlify.cn/YJ3AFnspring
66套java从入门到精通实战课程分享chrome
前言
早前笔者曾经写过一篇文章《研发团队,请管好你的API文档》。团队协做中,开发文档的重要性,这里就再也不赘述,今天的话题集中在如何进一步提高更加高效的使用文档。json
离线文档
swagger已经很方便了,咱们为何还须要离线文档?公司同一个项目组,通常只要集成了swagger基本就够了,可是不免会有跨组,甚至会有公司对外合做的项目。特别是在"微服务大行其道的今天",多个团队之间,由于分工不一样,权限不一样,每每不能互相访问各个项目的swagger文档,一般的作法有如下几种:windows
搭建统一的接口文档管理系统后端
每一个项目组的都要将各自的接口手动编写到归档到这里,须要查看,把人拉入组织便可查看。浏览器
代码即文档安全
提供源代码。同一个项目开发开发者。不少小公司就是这样。没有文档,只有源码。
离线文档
将文档导出成excel,docx,html等形式,对外输出,好比给第三方调用。
本文将聚焦于如何将swaggerUI导出离线文档。
笔者尝试了如下三种方式。
1 保存为html
Web开发者都知道,只要是网页你均可以另存为静态网页。
而后,右键用谷歌浏览器打开
当我运行个人代码时,它出错了:
swagger-ui-bundle.js:6 Fetch API cannot load file:///C:/swagger/v1/swagger.json. URL scheme must be "http" or "https" for CORS request.
很明显和swagger.json有关系,还好对swagger有所了解。果断经过访问 http://localhost:5000/swagger/v1/swagger.json 下载swagger.json,并放在指定位置。
再次运行,报错和刚才同样。这是跨源资源共享问题。
有两种处理办法:
使用网络服务器。
要为静态html/js文件运行一个简单的Web服务器。
更改您的chrome启动参数,并让它知道您要忽略此安全功能。
详细请查阅:https://www.codenong.com/50445639/
这里我使用的是IIS服务器,将js和html一同部署在IIS上,以下:
更改您的chrome启动参数,并让它知道您要忽略此安全功能。
部署以后,经过部署的IP地址便可访问(PS:这个比较适合公司内部,好比先后端分离开发的是时候)。
2 导出成pdf文档
这个比较简单,不用写代码。利用windows自带的功能便可实现。
点击快捷键Ctrl+p,显示打印页面
保存便可。
3 导出成Word文档
固然,尽管以上两种方式已经很方便了。但是总有些时候,遇到一些难缠的,又不讲道理,恰恰以为将Swagger文档地址丢给客户会不够正式!死活要一份word文档。
但是这个时候,若是接口数量上百个,甚至更多,一个一个手动输入word,那将是一笔耗时的工做。但却有什么办法能够解决呢?
对了,利用Swagge生成的Json文件转换为word文档不就能够了吗?
实现方式
获取Swagger接口文档的Json文件
解析Json文件数据填充到Html的表格中
根据生成的html转work文档
这就须要在swagger文档代码中作一些扩展。详情能够参考:基于.NetCore3.1系列 —— 使用Swagger导出文档
导出word的格式以下:
基于swagger生成的文档数据,咱们就能够按照本身的想法来生成自定义格式的数据了。有兴趣的童鞋能够继续深挖。
参考
基于.NetCore3.1系列 —— 使用Swagger导出文档
https://www.codenong.com/50445639/
https://www.52interview.com/book/18/200
研发团队,请管好你的API文档
粉丝福利:实战springboot+CAS单点登陆系统视频教程免费领取
👇👇👇
👆长按上方微信二维码 2 秒 便可获取资料
感谢点赞支持下哈
本文分享自微信公众号 - java1234(gh_27ed55ecb177)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。