首页 > 解决方案 > 从 OpenApi.json 生成 C# 客户端

问题描述

我有一个 .net core 2.2 类库。

我已经安装了 VS Studio 2017“OpenAPI (Swagger) Connected Service”扩展。

在此处输入图像描述

我尝试使用此扩展为以下 API 生成 ac# 客户端:

https://skybox.vividseats.com/services/openapi.json

该扩展运行并构建了许多文件:

在此处输入图像描述

但是,当我构建项目时,我有 1640 个错误:

在此处输入图像描述

它似乎已经生成了所有函数,然后命名为 1Async、2Async 等......

在此处输入图像描述

谁能看到我做错了什么?或者建议另一种从 url 生成客户端的方法?

任何帮助将不胜感激!

标签: c#

解决方案


您可能想尝试使用 OpenAPI Generator来生成 C# .NET Core 客户端:

下载最新的稳定版v4.1.3:http ://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.1.3/openapi-generator-cli-4.1.3.jar ,重命名为openapi-generator-cli.jar

java -jar openapi-generator-cli.jar generate -g csharp-netcore -i https://skybox.vividseats.com/services/openapi.json -o /var/tmp/ --skip-validate-spec

我可以毫无问题地构建项目。请测试它是否适合您。

有规范验证错误,所以我 --skip-validate-spec用来跳过这些错误。请在有时间的时候查看这些错误。

OpenAPI Generator还有其他安装方式:https ://github.com/OpenAPITools/openapi-generator#1---installation

更新:我们添加了一个csharp-netcore客户端生成器。请查看最新的 master of v5.0.0 版本来试一试。


推荐阅读