好用的在线文档生成工具,具体要求以下:javascript
1.可以实时生成在线文档
2.支持全文搜索
3.支持在线调试功能
4.界面美观html
说实话,这个需求看起来简单,可是实际上一点的都不简单。java
我花了几天时间处处百度,谷歌,技术博客 和 论坛查资料,前后调研了以下文档生成工具:
1、gitbook
开发语言:javascript
用户:50万+
示例地址:https://www.servicemesher.com/envoy/intro/arch_overview/dynamic_configuration.html
git
GitBook是一款文档编辑工具。它的功能相似金山WPS中的Word或者微软Office中的Word的文档编辑工具。它能够用来写文档、建表格、插图片、生成pdf。固然,以上的功能WPS、Office可能作得更好,可是,GitBook还有更最强大的功能:它能够用文档创建一个网站,让更多人了解你写的书,另外,最最核心的是,他支持Git,也就意味着,它是一个分布式的文档编辑工具。你能够随时随地来编写你的文档,也能够多人共同编写文档,哪怕多人编写同一页文档,它也能记录每一个人的内容,而后告诉你他们之间的区别,也能记录你的每一次改动,你能够查看每一次的书写记录和变化,哪怕你将文档都删除了,它也能找回来!这就是它继承Git后的厉害之处!程序员
优势:使用起来很是简单,支持全文搜索,能够跟git完美集成,对代码无任何嵌入性,支持markdown格式的文档编写。docker
缺点:须要单独维护一个文档项目,若是接口修改了,须要手动去修改这个文档项目,否则可能会出现接口和文档不一致的状况。而且,不支持在线调试功能。json
我的建议:若是对外的接口比较少,或者编写以后不会常常变更能够用这个。
2、smartdoc
用户:小米、科大讯飞、1加
示例地址:https://gitee.com/smart-doc-team/smart-doc/wikis/文档效果图?sort_id=1652819
bootstrap
smart-doc是一个java restful api文档生成工具,smart-doc颠覆了传统相似swagger这种大量采用注解侵入来生成文档的实现方法。smart-doc彻底基于接口源码分析来生成接口文档,彻底作到零注解侵入,只须要按照java标准注释的写就能获得一个标准的markdown接口文档。api
优势:基于接口源码分析生成接口文档,零注解侵入,支持html、pdf、markdown格式的文件导出。restful
缺点:须要引入额外的jar包,不支持在线调试
我的建议:若是实时生成文档,可是又不想打一些额外的注解,好比:使用swagger时须要打上@Api、@ApiModel等注解,就可使用这个。
3、redoc
用户:docker、redocly
示例地址:https://docs.docker.com/engine/api/v1.40/
redoc本身号称是一个最好的在线文档工具。它支持swagger接口数据,提供了多种生成文档的方式,很是容易部署。使用redoc-cli可以将您的文档捆绑到零依赖的 HTML文件中,响应式三面板设计,具备菜单/滚动同步。
优势:很是方便生成文档,三面板设计
缺点:不支持中文搜索,分为:普通版本 和 付费版本,普通版本不支持在线调试。另外UI交互我的感受不适合国内大多数程序员的操做习惯。
我的建议:若是想快速搭建一个基于swagger的文档,而且不要求在线调试功能,可使用这个。
4、knife4j
用户:未知
示例地址:http://swagger-bootstrap-ui.xiaominfo.com/doc.html
knife4j是为Java MVC框架集成Swagger生成Api文档的加强解决方案,前身是swagger-bootstrap-ui,取名kni4j是但愿她能像一把匕首同样小巧,轻量,而且功能强悍。
优势:基于swagger生成实时在线文档,支持在线调试,全局参数、国际化、访问权限控制等,功能很是强大。
缺点:界面有一点点丑,须要依赖额外的jar包
我的建议:若是公司对ui要求不过高,可使用这个文档生成工具,比较功能仍是比较强大的。
5、Eolinker
用户:360,中化,广联达,统一,柏涛
示例地址:https://www.eolinker.com/
Eolinker是国内团队自主研发的,主要支持如下功能:
• 可视化接口管理
• 数据mock
• 自动化接口测试
• 数据导入(各类,包括swagger、har、postman、json、命令行)
• 权限管理
• 支持本地化部署
• 支持插件
• 支持二次开发
优势:功能很是强大,支持权限管理、在线调试、接口自动化测试、插件开发等,拓展性也很好。
缺点:是Saas管理工具,没有源码。 我的建议:若是需求比较复杂,这个在线文档工具仍是很是好用的,笔者在这里强烈推荐一下。