6

上下文 我想通过在 Visual Studio 2017 中使用“Add”/“REST API Client...”将 AutoRest 生成的客户端用于 webapi 服务。但是,它给出了以下错误:

  • [信息] AutoRest Core 0.16.0.0
  • ...
  • [致命]错误生成客户端模型:不支持集合格式“multi”(在参数“xxx”中)。

旧版本的 AutoRest(例如 0.16.0)不支持“多”集合格式。所以我安装了最新版本的 AutoRest 0.17.3。使用 Nuget。但是当我使用“Add”/“REST API Client...”时,它仍然使用 0.16.0 版本的 AutoRest 并给我同样的错误。似乎 Visual Studio 2017 有一个内置的 AutoRest 版本 0.16 程序集。

问题 如何获取最新版本的 AutoRest 并将其集成到 Visual Studio 2017 中?

4

1 回答 1

1

我也遇到了这个问题,所以我为它构建了一个名为REST API Client Code Generator的工具。我曾在使用AutoRestNSwagSwagger Codegen等工具生成 REST API 客户端的团队中工作,但 Visual Studio 中的“添加新 - REST API 客户端...”工具并不总是有效,这让我很恼火。到了重新生成客户端的时候很麻烦

在此处输入图像描述

REST API 客户端代码生成器搭载在AutoRest NSwag和用于Swagger Codegen CLIOpenAPI Codegen CLI的 Java SDK之上。因此,为了能够使用 AutoRest,您需要安装Node.js,然后您需要使用 NPM 手动安装 AutoRest

npm install -g autorest

使用该工具会将 Swagger.json 文件添加到 C# 项目并为其设置自定义工具,因此每次对 Swagger.json 文件进行更改时,都会重新生成 API 客户端代码。如果您使用 Auto、NSwag、Swagger Codegen、OpenAPI Codegen,您将不得不手动更新 Swagger.json 文件。但是如果您选择使用NSwag Studio生成代码,那么您可以直接从 C# 项目的 .nswag 文件重新生成代码

在此处输入图像描述

于 2019-06-02T07:32:09.997 回答