Swagger 入門 [II] - 但為什麼?

  2015 年 10 月 15 日

作者:Ron Ratovsky

在本系列的前一篇文章中,我們介紹了 Swagger 的基本概念以及它的外觀。這次我們將介紹使用 Swagger 的一些好處。

通用語言 - 作為規格,Swagger 有一套易於遵循和理解的規則。使用它有助於在 API 生產者和消費者之間建立共同基礎。與 (開發) 語言無關意味著應用程式之間更容易互通。

人類/機器友善 - Swagger 支援 JSON 和 YAML 兩種格式,因此最終可以讓人類和機器輕鬆讀寫。對於使用者來說,YAML 是更容易使用的格式,因為它比 JSON 更簡潔。使用者也可以選擇使用多種視覺化工具之一來檢視文件的呈現版本並與之互動。對於機器來說,可以使用各種程式庫來解析這兩種格式,從而實現強大的整合。

API 生命周期 - 無論您是想將 API 的手動維護文件替換為您的使用者,還是想掌控應用程式的整個 API 生命周期,Swagger 都能滿足您的需求。設計、文件、程式碼產生、測試、API 管理、監控 - 選擇一個、選擇多個,選擇權在您。

開發流程整合 - 您可能有一個現有的 API,或者您可能想要建立一個新的 API,但無論哪種方式,Swagger 都能滿足您的需求。使用眾多語言整合之一,直接從您的程式碼產生 Swagger 文件,或使用 Swagger Editor 來規劃和設計您的 API,以作為您的事實來源。如果您願意,您甚至可以從現有的 API 轉移到契約優先方法。最近,我們推出了一種新的方法,可讓您保持 Swagger 定義和程式碼鬆散耦合,但仍將它們連結在一起。這可以透過 swagger-node(適用於 node.js)或 swagger-inflector(適用於 Java)來實現。

社群驅動 - 自從 Swagger 首次公開以來,它一直受到使用者要求的影響。Swagger 2.0 由來自主要公司、小型新創公司甚至一些自我代表使用者的 400 人開放小組推動。每個人都可以表達他們的意見、提出他們的痛點並推動規格向前發展。我們現在有一個專門的 github 儲存庫,供我們的使用者開啟功能要求、評論現有的要求,並普遍影響 Swagger 的未來。

不斷增長的工具集 - 有無數工具支援 Swagger,包括 開源商業。各種工具旨在促進語言整合,並將 Swagger 插入 API 生命週期的不同部分。定期添加越來越多的工具,涵蓋更多的框架和生命週期中的新面向。

在下一期中,我們將介紹幾種讓您的第一個 Swagger 定義準備就緒可以使用的方法。