最近,该公司计划建立一个openapi开放平台,让我找到一个有用的在线文档生成工具,具体要求如下:

必须是开源的能够实时生成在线文档支持全文搜索支持在线调试功能界面优美说实话,这种需求看起来很简单,但实际上一点也不简单我花了几天时间在百度、谷歌、技术博客、 和 论坛查资料,先后对以下文件生成工具进行了调查:。

gitbookgithub地址:github.com/GitbookIO/gitbook开源协议:Apache-2.0 LicenseStar: 22.9k开发语言:javascript用户:50万 推荐指数:

示例地址:www.servicemesher.com/envoy/intro/arch_overview/dynamic_configuration.htmlgitbook是一种文档编辑工具其功能类似于金山WPS中的word或微软ofice中的word文档编辑工具。

可用于写文档、建表、插图、生成pdf当然,WPS的上述功能、office可能做得更好,但gitbook有更强大的功能:它可以用文档建立一个网站,让更多的人知道你写的书此外,核心是他支持git,这意味着它是一个分布式的文档编辑工具。

你可以随时随地写你的文档,也可以有很多人一起写文档,即使很多人写同一页文档,它也可以记录每个人的内容,然后告诉你他们之间的区别,也可以记录你的每一个变化,你可以检查每一个写作记录和变化,即使你删除文档,它也可以找到!这就是它继承git后的力量!。

优点:使用非常简单,支持全文搜索,可以与git完美集成,不嵌入代码,支持markdown格式的文档编写缺点:文档项目需要单独维护如果修改了接口,则需要手动修改文档项目,否则接口可能与文档不一致此外,它不支持在线调试功能。

个人建议:如果对外界面少,或者写完后不经常变化,可以用这个smartdocgitee地址:gitee.com/smart-doc-team/smart-doc开源协议:Apache-2.0 License。

Star: 758开发语言:html、javascript用户:小米,科大讯飞,1加推荐指数:示例地址://gitee.com/smart-doc-team/smart-doc/wikis//文档效果图sort_id=1652819

smart-javava restful api文档生成工具,smart-doc颠覆了大量注解入侵生成文档的传统实现方法,如swagersmart-doc完全基于接口源代码分析生成接口文档,完全实现零注解入侵。

您只需按照java标准注释编写即可获得标准的markdown接口文档优点:基于接口源代码分析生成接口文档,零注解入侵,支持html、pdf、导出markdown格式的文件缺点:需要引入额外的jar包,不支持在线调试。

个人建议:如果实时生成文档,但不想做一些额外的注释,比如使用swagger时需要打字@Api、@可以使用ApiModel等注释redocgithub地址:/github.com/Redocly/redoc。

开源协议:MIT LicenseStar: 10.7K开发语言:typescript、javascript用户:docker、redocly推荐指数:示例地址://docs.docker.com/engine/api/v1.40/

redoc本身被称为最好的在线文档工具它支持swager接口数据,并提供多种生成文档的方法,非常容易部署使用redoc-cli可以将您的文档绑定到零依赖 在HTML文件中,具有菜单/滚动同步的响应式三面板设计。

优点:生成文档非常方便,三面板设计缺点:不支持中文搜索,分为:普通版 和 付费版本,普通版本不支持在线调试此外,UI交互个人感觉不适合大多数国内程序员的操作习惯个人建议:如果您想快速构建基于swager的文档,并且不需要在线调试功能,则可以使用此文档。

knife4jgitee地址:/gitee.com/xiaoym/knife4j开源协议:Apache-2.0 LicenseStar: 3k开发语言:java、javascript用户:未知推荐指数:

示例地址:swagger-bootstrap-ui.xiaominfo.com/doc.htmlknife4j是Java MVC框架集成Swager生成Api文档的增强解决方案,前身是Swager-bootstrap-ui,取名kni4j是希望她能像匕首一样小巧、轻便、功能强大。

优点:基于swager生成实时在线文档,支持在线调试、全球参数、国际化、访问权限控制等,功能非常强大缺点:界面有点丑,需要依靠额外的jar包个人建议:如果公司对UI的要求不高,可以使用这个文档生成工具,比较功能还是比较强大的。

yapigithub地址:github.com/YMFE/yapi开源协议:Apache-2.0 LicenseStar: 17.8k开发语言:javascript用户:腾讯、阿里、百度、京东等大工厂推荐指数:

示例地址:swagger-bootstrap-ui.xiaominfo.com/doc.html前端团队在哪里自主研发开源yapi,主要支持以下功能:可视化接口管理数据mock自动接口测试数据导入(包括swager)、har、postman、json、命令行)

权限管理支持本地化部署支持插件支持二次开发优点:功能非常强大,支持权限管理、在线调试、接口自动化测试、插件开发等,BAT等大型工厂使用,表明功能非常好缺点:插件需要安装在线调试功能用户体检有点差,主要是为了解决跨域问题,可能存在安全问题。

然而,要解决这个问题,实现自己的插件并不困难个人建议:如果不考虑插件的安全性,这个在线文档工具还是很好用的,可以说是神器,这里强烈推荐apidocgithub地址:github.com/apidoc/apidoc。

开源协议:MIT LicenseStar: 8.7k开发语言:javascript用户:未知推荐指数:示例地址:apidocjs.com/example/#api-Userapidoc 这很简单 RESTful API 从代码注释中提取特定格式的内容生成文档的文档生成工具。

支持,例如 Go、Java、C  、Rust 大多数开发语言可以具体使用 apidoc lang 命令行查看所有支持列表apidoc 具有以下特点:跨平台,linux、windows、macOS 等都支持;

支持语言广泛,即使不支持,扩展也很方便;支持多种不同语言的多个项目生成文档;可自定义输出模板;根据文档生成 mock 数据;优点:基于代码注释生成在线文档,代码嵌入相对较小,支持多种语言、跨平台,也可以定制模板。

支持搜索和在线调试功能缺点:需要在注释中添加指定的注释如果修改了代码参数或类型,则需要同时修改注释的相关内容,并且有一定的维护工作量个人建议:这种在线文档生成工具提供了另一个想法,swager在代码中添加注释,而apidoc在注释中添加数据,代码嵌入性较小,推荐使用。

showdocgithub地址:github.com/star7th/showdoc开源协议:Apache LicenceStar: 8.1k开发语言:javascript、php用户:超过10000 互联网团队正在使用

推荐指数:示例地址:www.showdoc.com.cn/demo?page_id=9Showdoc是一种非常适合IT团队的在线文档共享工具,它可以加快团队之间的沟通效率它有什么功能:响应式网页设计可与计算机或移动设备共享项目文档查看。

同时,项目也可以导出到word文件中进行离线浏览在权限管理方面,Showdoc上有两个项目:公共项目和私人项目公共项目可供任何登录和非登录用户访问,而私人项目需要输入密码验证访问密码由项目创建者设置Showdoc使用markdown编辑器,点击编辑器上方的按钮,轻松插入API接口模板和数据字典模板。

Showdoc为页面提供历史版本功能,您可以很容易地将页面恢复到以前的版本支持文件导入,文件可以是postmanjson文件、swagerjson文件、showdocmarkdown压缩包,系统会自动识别文件类型。

优点:支持项目权限管理、各种格式文件导入、全文搜索等功能,使用非常方便它不仅支持部署自己的服务器,还支持在线托管缺点:不支持在线调试功能个人建议:如果不需要在线调试功能,则该在线文档工具值得使用

来源:易风软件库