【发布时间】:2018-12-05 20:43:40
【问题描述】:
我正在尝试为 C#/asp.net 核心生成客户端代码,以使用具有 swagger 1.1 规范的服务。 (服务不在我的控制范围内)。不幸的是,大多数最新工具都需要 swagger 1.2 规范。大多数工具甚至需要 open-api 2.0。甚至大多数转换器都是从 1.2 开始的。有人知道从 1.1 升级到 1.2 的工具吗?
我什至会考虑手动重写,但我找不到 1.1 和 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 Transformer 声称支持 Swagger 1.x -> 1.2 / 2.0 / 3.0 转换。
【讨论】: