用於產生 OAS 的註解庫(以及來自 Swagger 使用者的其他常見問題)

  2018 年 11 月 05 日

我們最近舉辦了一場免費的 Swagger 培訓,將 Swagger 新增至您現有的 API:如何大規模自動化從「程式碼優先」到 OAS 的過程,其中我們研究了不同的工具和策略,以針對現有的 API 產生和託管 OpenAPI 規格 (OAS)。

在網路研討會期間,我們收到了大量關於以各種語言開發 API 的團隊可使用的不同選項的問題。我們也收到了關於 Swagger 工具如何提供幫助,以及團隊如何協調使用 OAS 的不同 API 開發方法的問題。

作為本次網路研討會的後續,我們希望分享一些用於處理 OAS 的不同註解庫的連結,並回答活動中 Swagger 使用者提出的一些熱門問題。

我們有以 Java、C#、Python 等語言開發的 API。在哪裡可以找到這些語言的最佳註解庫?

OpenAPI 規格 (OAS) 和 Swagger 工具都有活躍的開發人員社群,他們使用並開發新工具來支援您的 API 開發。Swagger 團隊支援一些用於從現有 API 產生 OAS 的程式庫,其餘的則由 OAS 社群維護:

您可以在此處探索其他支援 OAS 的開源工具。

在哪裡可以找到更多關於使用 Gradle 或 Maven 在 SwaggerHub 中儲存定義的資訊?

SwaggerHub 提供兩個核心外掛程式,用於自動將產生的 OAS 定義匯出到該平台。

這些外掛程式支援:

  • 從/向 SwaggerHub 下載/上傳 API 定義。

  • API 定義的 JSON 和 YAML 格式。

  • 使用 API 金鑰進行受限操作的驗證(例如,將定義提交至私人組織)。

  • 預設連線至 SwaggerHub 雲端版本,或透過選用設定連線至內部部署的 SwaggerHub 執行個體。

在此處瞭解有關 Gradle 外掛程式的詳細資訊。

在此處瞭解有關 Maven 外掛程式的詳細資訊。

我們使用 Swagger Codegen 專案來產生伺服器存根,我們應該使用 SwaggerHub 來執行此操作的原因是什麼?

SwaggerHub 是由 Swagger Codegen 專案背後的同一團隊建立的。事實上,SwaggerHub 中的程式碼產生功能是根據開源專案的貢獻而運作的。

SwaggerHub 為您的團隊提供一個中央平台,讓您可以使用 OAS 協同處理 API 開發。SwaggerHub 提供一個單一平台來託管 OAS 定義、協同設計和記錄 API,並使用內建的程式碼產生功能產生伺服器存根和 SDK,而不是讓個別開發人員在本地電腦上安裝開源工具並獨立工作,或管理複雜的建置程序來大規模支援此操作。

SwaggerHub 還與您信任的 API 開發工具整合,無論您需要推送到 API 閘道、觸發 Jenkins 建置,還是與您的原始碼控制主機同步,SwaggerHub 都提供原生整合和外掛程式來符合您的工作流程。

SwaggerHub 中支援哪些 OAS 3.0 程式碼產生語言?

我們將持續在 SwaggerHub 中推出對新語言的支援。以下是 OAS 3.0 支援語言的最新更新:

用戶端

  • Dynamic-html

  • Html

  • Html2

  • Java

  • Jaxrs-cxf-client

  • Kotlin-client

  • Php

  • Scala

  • Swift3

  • Swift4

  • Typescript-angular

伺服器存根

  • Inflector

  • Jaxrs-jersey

  • Jaxrs-resteasy

  • Jaxrs-resteasy-eap

  • Scala-akka-http-server

  • Spring

當 API 發生變更時,規格會發生什麼情況?它是否會自動更新 SwaggerHub 中現有的規格文件?

透過將原始碼連線至 SwaggerHub 等平台,可以讓外部規格與建置程序中產生的版本保持一致。除此之外,SwaggerHub 還擁有強大的版本控制系統,可讓多個團隊、專案或變更以智慧方式編目並儲存在單一的事實來源中。

關於 API 閘道部署,您是否可以在定義中直接加入驗證,並同時將其新增至規格?

此功能通常不會納入定義本身 – 我們會將產生的 OAS 交給一個檔案,該檔案會執行一系列請求,並根據已定義的回應驗證這些請求。有一些以程式碼為主的解決方案,例如 Swagger 測試範本專案,以及許多允許匯入 OAS 並輕鬆產生測試的 GUI 驅動解決方案,例如 ReadyAPI

是否有辦法將 SwaggerHub 註解轉換為 JIRA 工作?

目前我們沒有直接整合到 JIRA。SwaggerHub 團隊會根據使用者和組織的回饋,不斷將支援的工具和平台新增至清單中。

瞭解如何大規模自動化您的「程式碼優先」方法。

您可以在此處 觀看完整的培訓錄影

當您準備好時,SwaggerHub 會協助各種規模的團隊使用 OAS 協調他們的 API 開發,無論您是從以設計優先方法開始新專案,還是希望使用程式碼優先方法記錄現有的 API 集。

立即免費開始使用。