天天看點

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

作者:石杉的架構筆記

每個開發都不想寫文檔。當你不想寫接口文檔時,可以通過安裝插件在 IDEA 裡實作自動同步,一邊寫代碼一邊同步接口文檔給你的前端、測試同學。以下内容手把手教你怎麼操作(這裡僅面向使用 IDEA 編輯器、遵循 Java Spring 架構注釋規範的同學):

首先,你需要安裝一個插件

IDEA 插件市場裡搜尋 「Apifox Helper」,這是 Apifox 團隊做的插件,可以非常友善自動生成接口文檔并且同步到你的項目中。這個插件可以實作代碼零入侵自動生産接口文檔。

  • IDEA 安裝插件:打開 IDEA > Preferences(Settings) > Plugins,搜尋 Apifox Helper,點選安裝。這裡如果存在安裝速度慢,你也可以去 Jetbrains Marketplace 的官網下載下傳。

安裝完成後,你可以選擇同步到 Apifox 項目中,也可以直接導出 markdown 文檔。如果是同步到 Apifox 項目,你還需要下載下傳或注冊 Apifox 軟體,建立一個對應的項目:

  • 注冊/下載下傳位址:http://apifox.cn/b3ssjgbjtt ,直接微信掃一掃就可以,非常簡單。
  • 建立項目:點選建立團隊 >建立項目,填入對應的項目名稱。

(這裡強烈推薦同步到 Apifox 項目,原因後面說)

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

第二步,把你 IDEA 中的項目和 Apifox 的項目關聯

插件安裝成功後,要将 IDEA 内的項目與 Apifox 的項目進行相關聯,需要配置令牌。在 IDEA 中進入插件設定界面 Preferences(Settings) > Apifox Helper 中填寫即可。需要填寫的基礎資訊有三個:

  1. Apifox 伺服器位址: 預設 Apifox API 服務位址為 https://api.apifox.cn,預設就填好了,不需要修改。
橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!
  1. 填寫 Apifox 個人通路令牌: 在 Apifox 個人頭像處的【賬号設定】中選擇【API 通路令牌】,建立令牌後複制生成的 Token 填寫到以上插件設定中。
橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!
  1. 子產品項目 ID 配置: 這項主要是進行代碼子產品名和項目 ID 的映射關系配置,在 Apifox 中對應項目的【項目設定】中選擇【基本設定】,複制并儲存項目 ID,填寫在以上的對應子產品名處。
橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

到這裡,就完成全部的設定動作,可以實作文檔的自動生成和更新同步了。說明一下:每個項目隻需要開始的時候設定這一次,後面就不需要做這個操作了。

第三步,自動生成接口文檔

1.打開需要上傳的 Controller 檔案,右鍵選擇「 Upload to Apifox」。

2.去 Apifox 項目内,就可以看到剛才自動同步過來的文檔了。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

3.當後續接口代碼有變動或更新時,再次點選「 Upload to Apifox」就可以同步。

有了這個插件,你還可以直接在 IDEA 裡調試

Apifox Helper 支援在 IDEA 中一鍵發起接口自測,不需要切換其他軟體。在 IDEA 中選中需要調試的 API 檔案,右鍵選擇「Call API」發起請求就可以。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

當然,以上隻是簡單版本的自動同步文檔,沒有什麼特殊情況也就可以滿足使用了。當然,可能會存在一些特殊的要求,比如說,設定接口 API 所在的檔案夾名稱、想要忽略某些 API 不同步等等情況。在他們的官方文檔上是推薦使用配置檔案的方式實作你各種特殊規則和要求的。詳情可以自行去 Apifox 官方查閱。

和 Swagger 有啥不一樣?

很多開發都習慣用 Swagger,用 Swagger 可以一定程度上解決自動生成文檔的問題,但有一個很大的缺點:你需要寫大量的注解,會對你的邏輯代碼有入侵。并且在功能的全面性上不如 Apifox 。

Swagger:需要寫注解,對邏輯代碼有入侵,功能單一;

Apifox:使用标準的 Javadoc 注釋,基本可以實作代碼零入侵。同時它也支援同步 Swagger 的文檔到項目裡。還有 API Mock、自動化測試等延伸功能。

推薦用法是可以省略 Swagger 這一步,直接安裝這個插件使用就可以。

為什麼推薦建立一個 Apifox 項目?

這個插件雖然支援導出 markdown,但給别人分享分檔的時候不是很友善,有更新的時候也不會同步,需要反複導出。使用 Apifox 項目就可以直接給别人分享一個連結就可以,你之後接口的更新也會直接同步,對方看到的永遠是最新的。

另外,Apifox 這個産品本身還有很豐富的 API 調試、Mock 、自動化測試等功能,你的前端和測試也可以直接在上面做後續的工作。

調試友善

當你通過插件同步了文檔到 Apifox 項目裡後,前端同學直接在文檔内就可以一鍵點選「運作」調試,不需要再複制粘貼、也不需要和後端開發反複核對參數等資訊。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

雲端 Mock

Apifox 内置強大的 Mock 能力,可以直接生成非常智能、人性化的 Mock 資料。把接口文檔中的 Mock 功能打開,複制連結到浏覽器中回車一下,就能得到 Mock 資料。前端在後端的接口出來之前就可以通過 Mock 功能來制造假資料接口來進行開發和調試。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

文檔頁面的布局設計能力

支援對文檔界面的導航和樣式做設計,比如導航做成符合産品的下拉菜單、注冊登入按鈕等,和産品網站融合度更高。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

自動化測試能力

測試同學也可以在 Apifox 對接口進行測試。每個接口文檔可以快速生成多個不同狀态(成功、失敗)的測試用例。

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

對測試步驟進行編排,模拟業務情景設定測試流程控制條件(循環、判斷、等待):

橫空出世!IDEA 版 API 接口神器來了,一鍵生成文檔,賊香!

Apifox 的産品體驗比較好,适合團隊各個角色一起在裡面協作,也不需要再使用 postman、swagger 多個工具切來切去了。有興趣的同學可以前往 Apifox 官網體驗、看使用文檔。

官網位址:http://apifox.cn/b3ssjgbjtt

繼續閱讀