smart-doc 是一款同時支持 java restful api 和 Apache Dubbo rpc 接口文檔生成的工具,smart-doc 顛覆了傳統類似 swagger 這種大量採用註解侵入來生成文檔的實現方法。
smart-doc 完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入,你只需要按照 java 標準注釋編寫,smart-doc 就能幫你生成一個簡易明了的 markdown 或是一個像 GitBook 樣式的靜態 html 文檔。如果你已經厭倦了 swagger 等文檔工具的無數註解和強侵入汙染,那請擁抱 smart-doc 吧!
功能特性 支持接口 debug。 零註解、零學習成本、只需要寫標準 java 注釋。 基於原始碼接口定義自動推導,強大的返回結構推導。 支持 Spring MVC,Spring Boot,Spring Boot Web Flux(controller 書寫方式)。 支持 Callable,Future,CompletableFuture 等異步接口返回的推導。 支持 JavaBean 上的 JSR303 參數校驗規範,支持分組驗證。 對 json 請求參數的接口能夠自動生成模擬 json 參數。 對一些常用欄位定義能夠生成有效的模擬值。 支持生成 json 返回值示例。 支持從項目外部加載原始碼來生成欄位注釋(包括標準規範發布的 jar 包)。 支持生成多種格式文檔:Markdown、HTML5、Asciidoctor、Postman collection、Open Api 3.0+。 輕易實現在 Spring Boot 服務上在線查看靜態 HTML5 api 文檔。 開放文檔數據,可自由實現接入文檔管理系統。 一款代碼注釋檢測工具,不寫注釋的小夥伴逃不過法眼了。 插件式快速集成(支持 maven 和 gradle 插件)。 支持 Apache Dubbo rpc 文檔生成。Smart-doc 和其他工具的支持
功能特性 smart-doc swagger 代碼侵入 無 註解侵入性嚴重 集成複雜度 簡單,只需插件 偏複雜 插件支持 有gradle和maven插件 無插件 openapi規範支持 支持openapi 3.0 完全支持openapi的版本 CI構建集成可在ci構建階段使用
maven或者gradle命令
啟動插件生成文檔
不支持 集中化文檔中心集成
未來會獨家支持集成
神秘的集中化文檔管理中心,
打造自動、一體化的企業級接口文檔解決方案
不支持 維護持續性 值得信賴,開源後用戶基礎多,一直持續維護 全球用戶多,開源維護值得信賴 接口debug 2.0.0版本開始已經支持debug 支持Smart-doc 從 2.0.0 後幾乎實現了 swagger ui 的功能,並且比 swagger ui 更簡潔大方,也更符合國內開發者的訴求。當然 smart-doc 的功能也已經
超過了 swagger 為 java 開發者提供的功能。當然 smart-doc 本身是只支持掃描代碼生成 openapi 3.0 的文檔的,也可以將生成的 openapi 3.0 文檔導入到其他ui中渲染展示。
更新內容從 2.0.0 版本開始,smart-doc 完全支持生成 debug 調試頁面。從本次發布的 2.0.1 版本起,smart-doc 的生成的 debug 頁面完全支持文件的上傳下載測試。
1. 修改創建 openapi 時的空指針異常。
2. 修改 debug 頁面時未使用 mock 值的問題。
3. debug 頁面可以根據請求動態更新curl命令。
4. 優化 debug 頁面中的文件下載測試。
5. 優化 enum 入參 mock 錯誤的 bug。
6. mock 頁面支持使用新窗口打開後端渲染的頁面。
7. 修改生成一些欄位值生成錯誤的 bug。
8. 修改類中使用集合欄位未指定泛型可能出錯的 bug。
9. 優化set等集合類在文檔中的類型顯示。
10. 添加對集合欄位中枚舉的處理。
11. 枚舉序列化支持優化。
12. 調試頁面新增 Highlight 支持。
debug 頁面效果
smart-doc 官方為了方便用戶快速和無侵入的集成 smart-doc 的文檔 api 生成能力,我們開發可相關的 maven 或者 gradle 插件。這裡也推薦使用插件的方式來使用 smart-doc。
https://gitee.com/smart-doc-team/smart-doc-maven-plugin
升級建議這個版本針對2.0.0發布以來的兩個版本做了很多的優化。也修改了若干bug,smart-doc用戶建議升級到最新,插件使用都可以平滑升級。
DEMO使用demo輕鬆玩轉接口文檔生成,其他用戶案例文檔效果展示:https://api.doubans.com/
知名用戶