首頁  >  文章  >  後端開發  >  具有多個 YAML 檔案的開放 API 規範

具有多個 YAML 檔案的開放 API 規範

Susan Sarandon
Susan Sarandon原創
2024-09-26 06:10:02933瀏覽

Open API specs with more than one YAML file

每個記錄過REST API 的人都知道編寫包含所有這些資源、路徑、請求和架構的整個YAML 文件是什麼感覺,但突然間您發現自己保留了一個文件中最後一行的長度為5 位元。是的,很痛苦。

由於最好的應用程式是我們自己建立的應用程序,我發現自己在這個完全相同的地方記錄工作中的API,並且我進行了很多搜索,但沒有找到解決此問題的單一可行的解決方案,這就是我們程式設計師的本能發揮作用的時候我們花了五倍於我們應該為自己建立新工具的時間。這正是我所做的,我想與大家分享一個用 Go 編寫的全新工具,用於將 YAML 檔案合併到單一 boss 檔案上,以用作 OpenAPI 規格。

介紹:GOpenAPI

GOpenAPI (Golang OpenAPI) 是一種工具,它使用名為 dirs.json 的檔案在執行結束時將檔案和目錄(是的,相當於 yaml 的整個目錄)掃描到單一 swagger.yaml 檔案中。

您可以在這裡查看原始程式碼。請注意,存儲庫也是一個模板,可以克隆並用作草稿,以使用此工具創建您的第一個OpenAPI 規範(如果您不願意通過go install 安裝它,請確保保留gopenapi 資料夾,否則它完全是可拆卸)

它是如何工作的(以及我能讓它工作嗎)

很簡單,一旦您執行 gopenapi,它就會讀取 dirs.json 檔案並開始建立 OpenAPI 規範,其中包含其中聲明的所有檔案和資料夾。請注意,dirs.json 將使用檔案作為唯一金鑰,例如資訊、伺服器和安全性以及稱為範本的金鑰(這只是一個空白的 OpenAPI yaml 檔案)

難以保存在單一檔案中的資源和金鑰(例如路徑、模式和請求)可以儲存在資料夾中,也可以使用OpenAPI 上常見的#ref 標籤來提及這些資源和金鑰,因為它們都是合併後轉到同一個檔案。

這個項目還附帶了一個可以靜態提供的index.html,它也與 dist 資料夾中包含的 Swagger UI 官方包進行交互。

這就是大家

我希望這個工具能夠為那些(就像我一樣)搜索了大量 reddits 和 github 存儲庫但沒有找到他們正在尋找的工具的人提供。好吧,現在您已經擁有了它,並且它完全開源,這意味著,如果您看到任何可以解決的改進或問題,我會在與您合作解決它之前毫不猶豫地與您合作。另外,我對 golang 還很幼稚,所以這個專案可能還有很多需要改進的地方,我會盡力保持最新並不斷改進它(因為我現在也會經常使用它)

感謝您的閱讀,我希望這篇文章對您有用,就像對我一樣;)

以上是具有多個 YAML 檔案的開放 API 規範的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn