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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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.…