首页 > 解决方案 > 新版 Nswag 生成不兼容的数据类型

问题描述

我有一个CMD脚本,它使用“nswag swagger2csclient”来生成一个用于与另一个 API 通信的客户端。它以前工作过,但是一旦它使用了新版本的 Nswag,事情就开始出错了。

代码如下所示:

// Controller method
[ProducesResponseType(typeof(IEnumerable<CarViewModel>), 200)]
public async Task<ObjectResult> GetCars()

//Generated result with an older version of Nswag
System.Threading.Tasks.Task<System.Collections.ObjectModel.ObservableCollection<CarViewModel>> GetCars();

//Generated result with an newer version of Nswag
System.Threading.Tasks.Task<System.Collections.Generic.ICollection<CarViewModel>> GetCars();

Generic.ICollection的使用与我自己的代码不兼容,更改所有数据类型将是一项繁琐的工作,因此我需要Nswag来生成ObjectModel.ObservableCollection,就像在旧版本中所做的那样。

我该如何进行这项工作?

标签: c#.netasp.net-coreswaggernswag

解决方案


您可以使用 /ArrayType:Collection 参数更改此默认值

https://github.com/RicoSuter/NJsonSchema/wiki/CSharpGeneratorSettings


推荐阅读