使用 SwaggerHub 的比較與合併功能,改善您的 API 文件工作流程

  2017 年 1 月 6 日

API 描述格式(如 Swagger)充當 API 提供者和終端使用者之間的契約,以人類和機器都可讀的格式清楚詳細說明 API 的所有資源和操作。使用 Swagger 來記錄您的 RESTful API 可以讓開發更輕鬆、探索更完善,並為終端使用者帶來整體更好的整合體驗。 作為使用 Swagger 定義 API 的提供者,您有責任讓該契約保持最新,這通常需要管理多個版本的 Swagger 定義。 或者,如果您是遵循「程式碼優先」方式來使用 Swagger 的人,這表示必須使用註解從 API 的程式碼產生 Swagger 規格,您可能會發現需要進行一些調整,才能為您的 API 建立完善的定義。 無論您的團隊使用哪種方法透過 Swagger 定義 API,很可能都有許多不同技能和職責的人員參與其中。

讓適當的人員參與 API 文件

開發人員和 API 設計師並非唯一參與 API 生命週期設計和文件階段的人員。如果您的團隊認真看待 API 文件,您可能會有一個技術寫作者,其職責是透過提供具體的文件來改善 API 的可用性,以便使用您 API 的各種資源。 此人可能不會積極參與 API 的初始開發,因此通常需要投入大量時間來了解如何為 API 端點撰寫準確且為終端使用者提供適當內容的描述。 此文件工作流程涉及開發人員、技術寫作者和任何其他參與發佈 API 的人員之間的許多協作。同時也需要適當的可追溯性,以確保在更新定義時不會發生任何問題。

適用於您文件工作流程的正確工具

SwaggerHub,我們努力提供工具,讓您團隊的所有成員在整個 API 生命週期中更輕鬆地協同合作。透過註解和團隊管理等功能,您可以即時取得回饋、提出問題並解決問題。 現在,我們很興奮地宣布對 SwaggerHub 的最新改進,這將讓比較 Swagger 定義、審查和驗證變更以及接受 Swagger 規格的更新變得更加容易。

為 SwaggerHub 推出「比較與合併」功能

無論您是要更新已在使用中的 Swagger 定義,還是要將 Swagger 新增到現有的 API,在更新 API 之前比較所做的變更都很有幫助。 您可以將 SwaggerHub 中儲存的 API 規格與儲存在檔案系統中的 YAML 或 JSON 檔案中的另一個 API 規格進行比較和合併,可以是來自本機或其他儲存在 SwaggerHub 中的定義。 與傳統的差異和合併解決方案不同,SwaggerHub 的「比較與合併」功能是專門為審查和實作 Swagger 定義變更而建置的。它提供了適當的回饋,並將根據您對定義所做的變更,協助驗證您的 API 是否可存取。 以下更詳細地介紹 比較與合併工具的運作方式: 與 SwaggerHub 中的 Swagger 定義比較
  1. 在 SwaggerHub 中,開啟您的 API 以進行編輯。切換到需要的版本。
  2. 按一下編輯器右上角的「齒輪」圖示,然後從選單中選取比較與合併 API
  3. 在後續對話方塊中,選取比較 SwaggerHub 中的規格
  4. 在下一個對話方塊中,指定使用者名稱、API 和 API 版本以進行比較:
若要將 API 與同一個 API 的另一個版本進行比較,請輸入您的使用者名稱、API 名稱,然後選擇另一個版本。
  1. 按一下下一步。SwaggerHub 將驗證 API 是否可存取。
如果驗證成功,請再次按一下下一步。這將叫用一個視窗,您可以在其中查看 API 之間的差異。 與 Swagger 檔案比較
  1. 在 SwaggerHub 中,開啟您的 API 以進行編輯。切換到需要的版本。
  2. 按一下編輯器右上角的「齒輪」圖示,然後從選單中選取比較與合併 API
  3. 在後續對話方塊中,選取與外部規格比較
  4. 在下一個對話方塊中,輸入所需 JSON 或 YAML API 的 URL,或指定硬碟上的 API 檔案:
  5. 按一下提取。SwaggerHub 將載入指定的 API 並檢查其是否有效。
如果載入的 API 有效,請按一下比較。這將開啟一個視窗,您可以在其中查看 API 之間的差異(請參閱下方)。如果載入的 API 無效,您將會看到描述問題的訊息。 以下是「差異」視窗的範例檢視: 您的 API 在右側,「另一個」API 在左側。SwaggerHub 會自動偵測並醒目提示已變更的行。 視窗底部的差異類型設定會指定 SwaggerHub 醒目提示的差異:
描述
設計 + 中繼資料 SwaggerHub 會醒目提示屬性值中的差異以及新的和已刪除的節點。
僅設計 SwaggerHub 只會突顯規格結構中影響 API 操作的變更。描述、範例和其他人為修改的文件差異將不會被突顯。
合併差異
  1. 點擊視窗右側或左側突顯的差異行(或區塊)。SwaggerHub 會將區塊從視窗左側複製到右側(也就是您的 API),並移除突顯。同時,它也會增加「還原」按鈕中的計數器。
  2. 如果需要,請點擊還原以恢復最近一次的核准。若要恢復多次核准,請多次點擊「還原」。
  3. 合併所有需要的差異後,請點擊儲存變更以儲存變更。這將會取代您的 API 規格,改為變更後的版本。
如果您只想檢視差異(也就是比較兩個 API 規格),請點擊取消 新增「比較與合併」功能是為了改善團隊中更新和編輯 API 的工作流程。如果您對新功能有任何建議,請隨時在此處向我們發送功能請求這裡