关于spring:别再用swagger了给你推荐几个文档生成神器

43次阅读

共计 2526 个字符,预计需要花费 7 分钟才能阅读完成。

最近公司打算做一个 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 公布

正文完
 0