我們很高興推出全新版本的 Swagger 編輯器。
隨著我們準備在 Swagger 工具套件中進行令人興奮的開發,旨在支援跨越廣泛的 API 規範和語言的 API 社群,我們從頭開始建構了下一代 Swagger 編輯器。新的編輯器包含豐富的編輯功能,例如特定語言的文件、更好的自動完成、驗證、語法突顯、前往參考和尋找符號。
一如既往,我們將繼續在您的瀏覽器中直接提供這些功能和文件預覽功能。更重要的是,體驗將不再僅限於 OpenAPI 規範的版本。我們了解 API 環境正在快速發展,並且我們已將可擴展性置於我們工具的基礎。從發布起,我們的新編輯器將支援多個規範,同時確保易於擴展。這將能夠快速採用新的規範和版本。
下一代 Swagger 編輯器 - 其功能
新的編輯器開箱即用,支援 AsyncAPI (版本 2.*)。這可以在您的網路瀏覽器中提供跨 OpenAPI 和 AsyncAPI 的豐富編輯體驗。我們增強的編輯器體驗提供了現代整合開發環境 (IDE) 中預期的許多功能。
圖 1 - Swagger 編輯器支援 AsyncAPI
開始探索新功能
您可以在 https://editor-next.swagger.io/ 試用新的 Swagger 編輯器
技術堆疊
新的編輯器已從頭開始建構,並使用 Monaco 編輯器。Monaco 是 VS Code 使用的相同程式碼編輯器。利用 Monaco 來提供我們的編輯體驗,提供優雅的現代 UI、出色的自動完成功能以及可使用語言伺服器協定 (LSP) 功能建立穩固用戶端的 API。
Monaco 支援 Edge、Chrome、Firefox、Safari 和 Opera 瀏覽器。它具有強大的可擴展功能,可支援我們在我們的編輯器和原生 IDE 外掛程式之間共享最佳 API 設計和開發體驗的願景。
我們的下一代編輯器建立在我們的多規範核心 Swagger ApiDOM 之上,它為跨 API 描述語言和序列化格式描述 API 提供單一的統一結構。我們很快將分享有關 Swagger ApiDOM 的更多資訊和背景,敬請關注!
結合 Swagger ApiDOM 的強大核心、Swagger ApiDOM 語言服務和 Monaco,為我們的編輯器體驗提供強大且直覺的功能,開發人員在編輯 API 成品時期望在原生 IDE 體驗中看到這些功能。將支援諸如驗證、語法突顯、自動完成、linting、前往參考、前往定義、動作等語言功能。
後續步驟
目前,新的編輯器版本在一個獨特的位置提供,並且與現有版本平行。
當我們在新 Swagger 編輯器上具備足夠的功能對等性時,我們會將現有的編輯器版本移至維護模式。達到功能對等性的路線圖概述包括完全支援 OpenAPI 2.0(又名 Swagger 2.0)和 OpenAPI 3.0。
一旦我們達到所需的功能對等性水準,現有的編輯器版本將被新的基於 Monaco 的編輯器取代。
同時,我們正在努力在新編輯器體驗中支援 OpenAPI 3.1。將 OpenAPI 3.1 支援新增至我們的 Swagger Core 和 Swagger Parser Java 工具的工作正在進行中。很快我們將提供更多有關我們在 Swagger 工具鏈中支援 OpenAPI 3.1 的歷程,以及我們計劃的路線圖的見解。
我們希望您能參與我們在 Swagger 中的開源計畫。請隨意查看我們的貢獻指南。