swagger - 如何将 swagger 1.1 规范转换为 swagger >= 1.2 规范
问题描述
我正在尝试为 C#/asp.net 核心生成客户端代码,以使用具有 swagger 1.1 规范的服务。(服务不在我的控制范围内)。不幸的是,大多数最新的工具都需要一个 swagger 1.2 规范。大多数工具甚至需要 open-api 2.0。甚至大多数转换器都是从 1.2 开始的。有人知道从 1.1 升级到 1.2 的工具吗?
我什至会考虑手动重写,但我在任何地方都找不到 1.1 和 1.2 之间的变化
解决方案
首先,1.2也是一个很老的版本。考虑转换到 OpenAPI 2.0(现在大多数工具都在使用)或者甚至是 OpenAPI 3.0(最新版本)。
大摇大摆的代码生成器
Swagger Codegen可以从 1.x-3.0 规范生成客户端/服务器代码,也可以将 Swagger 1.x 转换为 OpenAPI 2.0 或 3.0。
要使用Codegen CLI v. 2.x从 Swagger 1.x 规范生成 C# 客户端:
java -jar swagger-codegen-cli-2.4.0.jar generate
-i http://path/to/spec.json
-l csharp
-o ./csharp-client
要将 Swagger 1.x 转换为 OpenAPI 2.0,Codegen CLI v. 2.x 带有-l swagger
获取 JSON 或-l swagger-yaml
获取 YAML 的参数。
java -jar swagger-codegen-cli-2.4.0.jar generate
-i http://path/to/spec.json
-l swagger
-o ./converted
要转换为 OpenAPI 3.0,请使用带有参数的Codegen CLI v. 3.x-l openapi
以获取 JSON 或-l openapi-yaml
获取 YAML。
java -jar swagger-codegen-cli-3.0.3.jar generate
-i http://path/to/spec.json
-l openapi
-o ./converted
API 转换器
API Transformer声称支持 Swagger 1.x -> 1.2 / 2.0 / 3.0 转换。
推荐阅读
- python - 在 python 中使用 HTML 表单输入数据时未显示 MySQL 数据
- php - 我只想从一个多于和少于 3 个字符的数组中获取单词列表,但我该怎么做呢?
- jquery - JQuery - 根据其他下拉值设置下拉值
- netsuite - NetSuite SuiteScript 2.0 - setValue 日期问题
- python - 在给定列的交叉点上合并两个数据框
- swift - 访问 refcon:UnsafeMutableRawPointer 时崩溃?CGEventTap 回调内部
- java - 使用 Spring Boot 在单个 PDF 中呈现表格和图表
- python - 如何在python中的表格列上方添加标题
- python - python - pandas,如何将相同的值映射到不同的数据帧?
- outlook - 我在 Outlook 中收到邮件时的消息框