每個記錄過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中文網其他相關文章!

掌握Go語言中的strings包可以提高文本處理能力和開發效率。 1)使用Contains函數檢查子字符串,2)用Index函數查找子字符串位置,3)Join函數高效拼接字符串切片,4)Replace函數替換子字符串。注意避免常見錯誤,如未檢查空字符串和大字符串操作性能問題。

你應該關心Go語言中的strings包,因為它能簡化字符串操作,使代碼更清晰高效。 1)使用strings.Join高效拼接字符串;2)用strings.Fields按空白符分割字符串;3)通過strings.Index和strings.LastIndex查找子串位置;4)用strings.ReplaceAll進行字符串替換;5)利用strings.Builder進行高效字符串拼接;6)始終驗證輸入以避免意外結果。

thestringspackageingoisesential forefficientstringManipulation.1)itoffersSimpleyetpoperfulfunctionsFortaskSlikeCheckingSslingSubstringsStringStringsStringsandStringsN.2)ithandhishiCodeDewell,withFunctionsLikestrings.fieldsfieldsfieldsfordsforeflikester.fieldsfordsforwhitespace-fieldsforwhitespace-separatedvalues.3)3)

WhendecidingbetweenGo'sbytespackageandstringspackage,usebytes.Bufferforbinarydataandstrings.Builderforstringoperations.1)Usebytes.Bufferforworkingwithbyteslices,binarydata,appendingdifferentdatatypes,andwritingtoio.Writer.2)Usestrings.Builderforstrin

Go的strings包提供了多種字符串操作功能。 1)使用strings.Contains檢查子字符串。 2)用strings.Split將字符串分割成子字符串切片。 3)通過strings.Join合併字符串。 4)用strings.TrimSpace或strings.Trim去除字符串首尾的空白或指定字符。 5)用strings.ReplaceAll替換所有指定子字符串。 6)使用strings.HasPrefix或strings.HasSuffix檢查字符串的前綴或後綴。

使用Go語言的strings包可以提升代碼質量。 1)使用strings.Join()優雅地連接字符串數組,避免性能開銷。 2)結合strings.Split()和strings.Contains()處理文本,注意大小寫敏感問題。 3)避免濫用strings.Replace(),考慮使用正則表達式進行大量替換。 4)使用strings.Builder提高頻繁拼接字符串的性能。

Go的bytes包提供了多種實用的函數來處理字節切片。 1.bytes.Contains用於檢查字節切片是否包含特定序列。 2.bytes.Split用於將字節切片分割成smallerpieces。 3.bytes.Join用於將多個字節切片連接成一個。 4.bytes.TrimSpace用於去除字節切片的前後空白。 5.bytes.Equal用於比較兩個字節切片是否相等。 6.bytes.Index用於查找子切片在largerslice中的起始索引。

theEncoding/binarypackageingoisesenebecapeitProvidesAstandArdArdArdArdArdArdArdArdAndWriteBinaryData,確保Cross-cross-platformCompatibilitiational and handhandlingdifferentendenness.itoffersfunctionslikeread,寫下,寫,dearte,readuvarint,andwriteuvarint,andWriteuvarIntforPreciseControloverBinary


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載
最受歡迎的的開源編輯器