swagger2升級至openapi3的利器--swagger2openapi

背景:

????????因為項目需要升級JDK,涉及到swagger2升級至openapi3的情況。由于swagger 2和openapi 3的語法差距太大,需要對yaml進行升級。無奈單個yaml文件的內容太大,高至4萬多行,手動進行語法的轉換肯定是不可能了,swagger 3提供的在線編輯器當遇到文件過大時,頁面也會宕機。所以,我們需要借助工具來實現語法間的轉換,于是,我找到了swagger2openapi這個工具。

什么是 swagger2openapi?

? ? ? ? 官網對其介紹很簡單,一句話概括了:Convert Swagger 2.0 definitions into OpenApi 3.0.x。swagger2openapi 是一個開源工具,用javascript寫的,托管在GitHub 上,并通過 npm 發布。

安裝 swagger2openapi:

????????因為swagger2openapi 是一個 Node.js 工具,所以需要 Node.js 環境,如果沒有Node.js,則需要先安裝Node.js,這里就不介紹Node.js的安裝方式了,需要的自行百度。需要注意的是Node.js的版本問題,比如,我使用的swagger2openapi的版本是7.0.8,他需要Node 12的版本。接下來回到swagger2openapi的安裝部分:

命令行輸入以下命令,全局安裝的模式:

npm install -g swagger2openapi

驗證安裝是否成功:

swagger2openapi --version

如果輸出了版本信息,說明安裝成功了。

使用方法:

????????swagger2openapi 提供了多種使用方式,包括命令行、Node.js 模塊、Docker 和 VS Code 擴展。下面就介紹命令行的使用吧,其他的請參考官網。

命令行使用,基本語法:

swagger2openapi [options] <input-file> [--outfile <output-file>]

?舉個例子:

swagger2openapi swagger.yaml -o openapi.yaml –-patch

強烈建議加上--patch參數,它可以修復一些小的問題,比如,openapi要求某些參數必須有description,加上--patch參數,就可以在轉換的同時,自動幫你加上。

轉換完成之后就是驗證工作了,它轉換出來的可能并不是完美的,所以,需要根據編譯的結果進行修復。但是可以解決大部分的問題,已經提高了不少效率了。

另外,這個工具轉換速度很快,相當推薦!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903478.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903478.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903478.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在yolo中Ultralytics是什么意思呢?超越分析的智能

在YOLO&#xff08;You Only Look Once&#xff09;目標檢測框架中&#xff0c;Ultralytics 是一家專注于計算機視覺和機器學習技術的公司&#xff0c;同時也是YOLO系列模型&#xff08;如YOLOv5、YOLOv8等&#xff09;的官方開發和維護團隊。以下是關鍵點解析&#xff1a; 1. …

【阿里云大模型高級工程師ACP習題集】2.7 通過微調增強模型能力 (上篇)(?????? 重點章節!!!)

習題集: 【單選題】在大模型微調中,與提示工程和RAG相比,微調的獨特優勢在于( ) A. 無需外部工具即可提升模型表現 B. 能讓模型學習特定領域知識,提升底層能力 C. 可以更高效地檢索知識 D. 能直接提升模型的知識邊界,無需訓練 【多選題】以下關于機器學習和傳統編程的說…

CuML + Cudf (RAPIDS) 加速python數據分析腳本

如果有人在用Nvidia RAPIDS加速pandas和sklearn等庫&#xff0c;請看我這個小示例&#xff0c;可以節省你大量時間。 1. 創建環境 請使用uv&#xff0c;而非conda/mamba。 # install uv if not yetcurl -LsSf https://astral.sh/uv/install.sh | shuv init data_gpucd data_g…

2-SAT之完美塔防

小N最近喜歡玩一款塔防游戲。 題目描述 這款游戲的棋盤是一個 nm 的網格&#xff0c;每個格子上會有以下類型物件&#xff1a; A 型炮臺&#xff1a;會向上下兩個方向同時發射激光&#xff0c;符號為 |;B 型炮臺&#xff1a;會向左右兩個方向同時發射激光&#xff0c;符號為…

【android bluetooth 案例分析 03】【PTS 測試 】【PBAP/PCE/SSM/BV-02-C】

1. 測試介紹 PBAP/PCE/SSM/BV-02-C [PCE Closes a PBAP Session] 1. Test Purpose Verify that the PCE can terminate a PBAP session. 2. Initial Condition IUT: The IUT is engaged in a PBAP session with the Lower Tester.Lower Tester: The Lower Tester is engag…

ArcGIS:開啟洪水災害普查、評估與制圖新征程

技術點目錄 一、洪水普查技術規范解讀二、ArcGIS介紹及數據管理三、空間數據的轉換與處理四、洪水淹沒專題地圖制作五、矢量數據的采集與處理六、柵格數據的下載與處理七、ArcGIS水文分析八、ArcGIS洪水分析九、ArcGIS淹沒分析了解更多 ———————————————————…

【系統參數合法性校驗】spring-boot-starter-validation

JSR303校驗 統一校驗的需求 前端請求后端接口傳輸參數&#xff0c;是在controller中校驗還是在Service中校驗&#xff1f; 答案是都需要校驗&#xff0c;只是分工不同。 Contoller中校驗請求參數的合法性&#xff0c;包括&#xff1a;必填項校驗&#xff0c;數據格式校驗&…

[零基礎]內網ubuntu映射到云服務器上,http訪問(frp內網穿透)

阿里云服務器&#xff0c;高校教師可以半價&#xff0c; frp下載地址&#xff1a;https://github.com/fatedier/frp/releases&#xff0c;選amd64&#xff0c; 云服務器開放端口 選擇網絡與安全–>安全組->管理規則 配置開放端口&#xff0c;7000為支持frp開放的端口&…

第十六屆藍橋杯 2025 C/C++組 破解信息

目錄 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 思路&#xff1a; 思路詳解&#xff1a; 代碼&#xff1a; 代碼詳解&#xff1a; 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; P12344 [藍橋杯 2025 省 B/Python B 第二場] 破解信息…

OpenAI Embedding 和密集檢索(如 BERT/DPR)進行語義相似度搜索有什么區別和聯系

OpenAI Embedding 和密集檢索&#xff08;如 BERT/DPR&#xff09;其實是“同一種思想的不同實現”&#xff0c;它們都屬于Dense Retrieval&#xff08;密集向量檢索&#xff09;&#xff0c;只不過使用的模型、部署方式和調用方式不同。 &#x1f9e0; 首先搞清楚&#xff1a;…

Linux電源管理(3)_關機和重啟的過程

原文&#xff1a;Linux電源管理&#xff08;3&#xff09;_Generic PM之重新啟動過程 1.前言 在使用計算機的過程中&#xff0c;關機和重啟是最先學會的兩個操作。同樣&#xff0c;這兩個操作在Linux中也存在&#xff0c;可以關機和重啟。這就是這里要描述的對象。在Linux Ke…

C# 繼承詳解

繼承是面向對象程序設計&#xff08;OOP&#xff09;中的核心概念之一&#xff0c;它極大地增強了代碼的重用性、擴展性和維護性。本篇文章將詳細講解C#中的繼承機制&#xff0c;包括基礎概念、語法特法、多重繼承&#xff08;通過接口實現&#xff09;、繼承的規則和實際應用示…

SQLAlchemy 2.x 異步查詢方法比較

SQLAlchemy 2.x 異步查詢中常用的 結果處理方法速查表&#xff0c;包含方法說明、使用場景、返回類型及典型用途。 SQLAlchemy 查詢結果處理方法速查表&#xff08;適用于 AsyncSession&#xff09; 方法 說明 返回類型 示例 SQL 示例輸出 scalars().all() 獲取單列所有…

極客天成參與”AI助力智慧城市構建”主題演講暨招商引智專題推介活動

4月7日下午&#xff0c;北京極客天成科技有限公司參加了天津市河東區數據局舉辦的“AI賦能智慧城市構建”主題演講暨招商引智專題推介活動。 活動中&#xff0c;華為&#xff08;天津&#xff09;有限公司數字政府解決方案總監姜華庚圍繞“政務大模型賦能智慧城市建設”&#x…

理解 EKS CloudWatch Pod CPU Utilization 指標:與 `kubectl top` 及節點 CPU 的關系

在使用 AWS EKS 時&#xff0c;CloudWatch Container Insights 提供了豐富的容器級別監控指標&#xff0c;幫助我們深入了解應用的運行狀態。如下截圖中的 ContainerInsights pod_cpu_utilization 指標就是一個非常重要的維度。本文將詳細解釋這個指標的含義&#xff0c;并將其…

使用pip3安裝軟件包報錯`externally-managed-environment`的幾種解決方式

1、pip3安裝軟件包報錯 報錯externally-managed-environment的原因&#xff1a; 從 Python 3.11 開始引入了 PEP 668 規范&#xff0c;該規范限制了在系統級 Python 環境中使用 pip 安裝第三方包&#xff0c;以避免與系統包管理器&#xff08;如 apt&#xff09;產生沖突。 如…

spring security用戶退出

Spring security默認實現了用戶退出的功能&#xff0c;用戶退出主要考慮退出后會話如何管理以及跳轉到哪個頁面。HttpSecurity類提供了logout()方法開啟退出登錄的支持&#xff0c;默認觸發用戶退出操作的URL為“/logout”&#xff0c;用戶退出時同時也會清除Session等默認用戶…

愛普生SG2520HHN晶振數據中心服務器的理想解決方案

在當今數字化時代&#xff0c;數據中心作為海量數據存儲、處理與傳輸的核心樞紐&#xff0c;其服務器的高效穩定運行至關重要。服務器作為其核心設備&#xff0c;對時鐘信號的精度和穩定性提出了嚴苛要求——微小的時序誤差可能導致數據傳輸失敗或系統宕機。愛普生 SG2520HHN 差…

LeetCode 155題解 | 最小棧

最小棧 一、題目鏈接二、題目三、算法原理思路1&#xff1a;用一個變量存儲最小元素思路2&#xff1a;雙棧普通棧和最小棧 四、編寫代碼五、時間復雜度 一、題目鏈接 最小棧 二、題目 三、算法原理 棧用數組、鏈表實現都行&#xff0c;最主要的就是在能在常數時間內檢索到最…

es+kibana---集群部署

其實一般es要跑3個節點的&#xff0c;這樣才能做高可用&#xff0c;處理并發大&#xff0c;但是我這里只是一個pod mkdir -p /stroe/data/es es搭建&#xff1a; #【拉取鏡像】 #docker pull elasticsearch:6.8.7 #docker pull busybox:1.28 【導入鏡像】 docker load -i es.…