別再用swagger了,給你推薦幾個文檔生成神器

最近公司打算作一個openapi開放平臺,讓我找一款好用的在線文檔生成工具,具體要求以下:javascript

1.必須是開源的html

2.可以實時生成在線文檔前端

3.支持全文搜索java

4.支持在線調試功能git

5.界面優美程序員

說實話,這個需求看起來簡單,可是實際上一點的都不簡單。github

我花了幾天時間處處百度,谷歌,技術博客 和 論壇查資料,前後調研了以下文檔生成工具:docker

1、gitbook
github地址:https://github.com/GitbookIO/...typescript

開源協議:Apache-2.0 Licensejson

Star: 22.9k

開發語言:javascript

用戶:50萬+

示例地址:https://www.servicemesher.com...

file

GitBook是一款文檔編輯工具。它的功能相似金山WPS中的Word或者微軟Office中的Word的文檔編輯工具。它能夠用來寫文檔、建表格、插圖片、生成pdf。固然,以上的功能WPS、Office可能作得更好,可是,GitBook還有更最強大的功能:它能夠用文檔創建一個網站,讓更多人瞭解你寫的書,另外,最最核心的是,他支持Git,也就意味着,它是一個分佈式的文檔編輯工具。你能夠隨時隨地來編寫你的文檔,也能夠多人共同編寫文檔,哪怕多人編寫同一頁文檔,它也能記錄每一個人的內容,而後告訴你他們之間的區別,也能記錄你的每一次改動,你能夠查看每一次的書寫記錄和變化,哪怕你將文檔都刪除了,它也能找回來!這就是它繼承Git後的厲害之處!

優勢:使用起來很是簡單,支持全文搜索,能夠跟git完美集成,對代碼無任何嵌入性,支持markdown格式的文檔編寫。

缺點:須要單獨維護一個文檔項目,若是接口修改了,須要手動去修改這個文檔項目,否則可能會出現接口和文檔不一致的狀況。而且,不支持在線調試功能。

我的建議:若是對外的接口比較少,或者編寫以後不會常常變更能夠用這個。

2、smartdoc
gitee地址:https://gitee.com/smart-doc-t...

開源協議:Apache-2.0 License

Star: 758

開發語言:html、javascript

用戶:小米、科大訊飛、1加

示例地址:https://gitee.com/smart-doc-t...

file

smart-doc是一個java restful api文檔生成工具,smart-doc顛覆了傳統相似swagger這種大量採用註解侵入來生成文檔的實現方法。smart-doc徹底基於接口源碼分析來生成接口文檔,徹底作到零註解侵入,只須要按照java標準註釋的寫就能獲得一個標準的markdown接口文檔。

優勢:基於接口源碼分析生成接口文檔,零註解侵入,支持html、pdf、markdown格式的文件導出。

缺點:須要引入額外的jar包,不支持在線調試

我的建議:若是實時生成文檔,可是又不想打一些額外的註解,好比:使用swagger時須要打上@Api、@ApiModel等註解,就可使用這個。

3、redoc
github地址:https://github.com/Redocly/redoc

開源協議:MIT License

Star: 10.7K

開發語言:typescript、javascript

用戶:docker、redocly

示例地址:https://docs.docker.com/engin...

file

redoc本身號稱是一個最好的在線文檔工具。它支持swagger接口數據,提供了多種生成文檔的方式,很是容易部署。使用redoc-cli可以將您的文檔捆綁到零依賴的 HTML文件中,響應式三面板設計,具備菜單/滾動同步。

優勢:很是方便生成文檔,三面板設計

缺點:不支持中文搜索,分爲:普通版本 和 付費版本,普通版本不支持在線調試。另外UI交互我的感受不適合國內大多數程序員的操做習慣。

我的建議:若是想快速搭建一個基於swagger的文檔,而且不要求在線調試功能,可使用這個。

4、knife4j
gitee地址:https://gitee.com/xiaoym/knife4j

開源協議:Apache-2.0 License

Star: 3k

開發語言:java、javascript

用戶:未知

示例地址:http://swagger-bootstrap-ui.x...

file

knife4j是爲Java MVC框架集成Swagger生成Api文檔的加強解決方案,前身是swagger-bootstrap-ui,取名kni4j是但願她能像一把匕首同樣小巧,輕量,而且功能強悍。

優勢:基於swagger生成實時在線文檔,支持在線調試,全局參數、國際化、訪問權限控制等,功能很是強大。

缺點:界面有一點點醜,須要依賴額外的jar包

我的建議:若是公司對ui要求不過高,可使用這個文檔生成工具,比較功能仍是比較強大的。

5、yapi
github地址:https://github.com/YMFE/yapi

開源協議:Apache-2.0 License

Star: 17.8k

開發語言:javascript

用戶:騰訊、阿里、美團、百度、京東等大廠

示例地址:http://swagger-bootstrap-ui.x...

file

yapi是去哪兒前端團隊自主研發並開源的,主要支持如下功能:

可視化接口管理

數據mock

自動化接口測試

數據導入(各類,包括swagger、har、postman、json、命令行)

權限管理

支持本地化部署

支持插件

支持二次開發

優勢:功能很是強大,支持權限管理、在線調試、接口自動化測試、插件開發等,BAT等大廠等在使用,說明功能很好。

缺點:在線調試功能須要安裝插件,用戶體檢稍微有點很差,主要是爲了解決跨域問題,可能有安全性問題。不過要解決這個問題,能夠本身實現一個插件,應該不難。

我的建議:若是不考慮插件安全的安全性問題,這個在線文檔工具仍是很是好用的,能夠說是一個神器,筆者在這裏強烈推薦一下。

若是這篇文檔對您有所幫助的話,麻煩關注一下個人公衆帳號:蘇三說技術,或者幫忙點贊或轉發,堅持原創不易,您的支持是我堅持最大的動力。後面我會分享更多更實用的乾貨,謝謝你們的支持。

本文由博客羣發一文多發等運營工具平臺 OpenWrite 發佈
相關文章
相關標籤/搜索