Swagger v4 的努力終於有了豐碩的成果。這是一段令人難以置信的旅程,我們特別感謝協助 v4 進展的社群成員。他們的貢獻讓我們能夠在候選版本過程中快速識別並解決各種錯誤和異常情況。
SwaggerUI 和 SwaggerEditor 的主要分支都在最新的 React 17.x 和 Redux 4.x 版本上執行。除了這兩個主要的依賴性變更之外,我們還更新並刪除了許多其他依賴性。這會產生更安全、更穩定且更精簡的依賴性樹狀結構。
v4 版本最重要的好處是 SwaggerUI 和 SwaggerEditor 的外掛程式現在可以使用函式 (又稱函數式) 元件和 React 17 的所有最新功能。這包括 Hooks、Context API、新的生命週期方法、新的事件處理常式、錯誤邊界等等。
有哪些重大變更?
對於任何未將 SwaggerUI 或 SwaggerEditor 作為 React 函式庫整合的人來說,沒有重大變更。v4 版本將繼續像之前一樣支援 OpenAPI 3.0.x 和 Swagger 2.0。對於函式庫維護人員來說,唯一引入的重大變更是不再支援舊版本的 React 和 Redux。
為了確保順利升級,在使用 v4 時,請更新所有 React 程式碼以支援 React@17。如果證明無法實現,另一種方法是執行兩個版本的 React,這種做法稱為「逐步升級」。可以在 https://github.com/reactjs/react-gradual-upgrade-demo/ 找到指南。
SwaggerUI API、外掛程式系統或程式碼庫的任何其他部分都沒有其他重大變更。
為什麼要推出新的主要 (v4) 版本?
過去,SwaggerUI 和 SwaggerEditor 的版本控制遵循 OpenAPI 規格版本。當 OpenAPI 3.0.0 發佈時,SwaggerUI 和 SwaggerEditor 隨後發佈了各自的 v3 版本。這種版本控制結構雖然最初簡單易懂且易於行銷,但在將 Swagger 作為函式庫整合時確實存在問題,這是我們作為其他函式庫的消費者所感同身受的。因此,我們決定擺脫這種方法,並在可能的情況下採用語義版本控制。v4 版本是開始為 Swagger 工具新增令人興奮的新功能的起點,所有這些都從更新到最新的可用精簡依賴性樹狀結構開始。
您今天如何探索 Swagger v4
SwaggerUI 和 SwaggerEditor 的 v4 npm 套件可在 npmjs.com 上取得,並且將會是最新穩定版本。您可以使用命令列安裝這些套件,npm install [-D|-S] swagger-ui@4。
3.x 分支的生命週期
我們將繼續支援 3.x 分支到 2021 年 11 月底。在 3.x 維護期間,我們會將安全性及/或錯誤修復程式反向移植到 3.x 分支,並發佈 v3 修補程式版本。不會將新功能新增至 v3 分支。