最近公司打算做一个 openapi 开放平台,让我找一款好用的在线文档生成工具,具体要求如下:
1. 必须是开源的
2. 可能实时生成在线文档
3. 反对全文搜寻
4. 反对在线调试性能
5. 界面柔美
说实话,这个需要看起来简略,然而实际上一点的都不简略。
我花了几天工夫到处百度,谷歌,技术博客 和 论坛查资料,先后调研了如下文档生成工具:
一、gitbook
github 地址:https://github.com/GitbookIO/…
开源协定:Apache-2.0 License
Star: 22.9k
开发语言:javascript
用户:50 万 +
示例地址:https://www.servicemesher.com…
GitBook 是一款文档编辑工具。它的性能相似金山 WPS 中的 Word 或者微软 Office 中的 Word 的文档编辑工具。它能够用来写文档、建表格、插图片、生成 pdf。当然,以上的性能 WPS、Office 可能做得更好,然而,GitBook 还有更最弱小的性能:它能够用文档建设一个网站,让更多人理解你写的书,另外,最最外围的是,他反对 Git,也就意味着,它是一个分布式的文档编辑工具。你能够随时随地来编写你的文档,也能够多人独特编写文档,哪怕多人编写同一页文档,它也能记录每个人的内容,而后通知你他们之间的区别,也能记录你的每一次改变,你能够查看每一次的书写记录和变动,哪怕你将文档都删除了,它也能找回来!这就是它继承 Git 后的厉害之处!
长处:应用起来非常简单,反对全文搜寻,能够跟 git 完满集成,对代码无任何嵌入性,反对 markdown 格局的文档编写。
毛病:须要独自保护一个文档我的项目,如果接口批改了,须要手动去批改这个文档我的项目,不然可能会呈现接口和文档不统一的状况。并且,不反对在线调试性能。
集体倡议:如果对外的接口比拟少,或者编写之后不会常常变动能够用这个。
二、smartdoc
gitee 地址:https://gitee.com/smart-doc-t…
开源协定:Apache-2.0 License
Star: 758
开发语言:html、javascript
用户:小米、科大讯飞、1 加
示例地址:https://gitee.com/smart-doc-t…
smart-doc 是一个 java restful api 文档生成工具,smart-doc 颠覆了传统相似 swagger 这种大量采纳注解侵入来生成文档的实现办法。smart-doc 齐全基于接口源码剖析来生成接口文档,齐全做到零注解侵入,只须要依照 java 规范正文的写就能失去一个规范的 markdown 接口文档。
长处:基于接口源码剖析生成接口文档,零注解侵入,反对 html、pdf、markdown 格局的文件导出。
毛病:须要引入额定的 jar 包,不反对在线调试
集体倡议:如果实时生成文档,然而又不想打一些额定的注解,比方:应用 swagger 时须要打上 @Api、@ApiModel 等注解,就能够应用这个。
三、redoc
github 地址:https://github.com/Redocly/redoc
开源协定:MIT License
Star: 10.7K
开发语言:typescript、javascript
用户:docker、redocly
示例地址:https://docs.docker.com/engin…
redoc 本人号称是一个最好的在线文档工具。它反对 swagger 接口数据,提供了多种生成文档的形式,非常容易部署。应用 redoc-cli 可能将您的文档捆绑到零依赖的 HTML 文件中,响应式三面板设计,具备菜单 / 滚动同步。
长处:十分不便生成文档,三面板设计
毛病:不反对中文搜索,分为:一般版本 和 付费版本,一般版本不反对在线调试。另外 UI 交互个人感觉不适宜国内大多数程序员的操作习惯。
集体倡议:如果想疾速搭建一个基于 swagger 的文档,并且不要求在线调试性能,能够应用这个。
四、knife4j
gitee 地址:https://gitee.com/xiaoym/knife4j
开源协定:Apache-2.0 License
Star: 3k
开发语言:java、javascript
用户:未知
示例地址:http://swagger-bootstrap-ui.x…
knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的加强解决方案, 前身是 swagger-bootstrap-ui, 取名 kni4j 是心愿她能像一把匕首一样玲珑, 轻量, 并且性能强悍。
长处:基于 swagger 生成实时在线文档,反对在线调试,全局参数、国际化、拜访权限管制等,性能十分弱小。
毛病:界面有一点点丑,须要依赖额定的 jar 包
集体倡议:如果公司对 ui 要求不太高,能够应用这个文档生成工具,比拟性能还是比拟弱小的。
五、yapi
github 地址:https://github.com/YMFE/yapi
开源协定:Apache-2.0 License
Star: 17.8k
开发语言:javascript
用户:腾讯、阿里、美团、百度、京东等大厂
示例地址:http://swagger-bootstrap-ui.x…
yapi 是去哪儿前端团队自主研发并开源的,次要反对以下性能:
可视化接口治理
数据 mock
自动化接口测试
数据导入(各种,包含 swagger、har、postman、json、命令行)
权限治理
反对本地化部署
反对插件
反对二次开发
长处:性能十分弱小,反对权限治理、在线调试、接口自动化测试、插件开发等,BAT 等大厂等在应用,阐明性能很好。
毛病:在线调试性能须要装置插件,用户体检略微有点不好,次要是为了解决跨域问题,可能有安全性问题。不过要解决这个问题,能够本人实现一个插件,应该不难。
集体倡议:如果不思考插件平安的安全性问题,这个在线文档工具还是十分好用的,能够说是一个神器,笔者在这里强烈推荐一下。
如果这篇文档对您有所帮忙的话,麻烦关注一下我的公众账号:苏三说技术,或者帮忙点赞或转发,保持原创不易,您的反对是我保持最大的能源。前面我会分享更多更实用的干货,谢谢大家的反对。
本文由博客群发一文多发等经营工具平台 OpenWrite 公布