我正在使用NSwag SwaggerToCSharpClientGenerator来生成请求和响应类和枚举。NSwag生成重复类型
我有一些Web API方法共享与参数相同的枚举或作为请求对象的一部分。当我运行NSwag API时,它会多次生成相同的枚举定义,但将其命名为Enum1,Enum2,Enum3,ResponseClassEnum。
我可以配置NSwag(或Swashbuckle),以便只生成一个枚举?
我NSwag代码如下所示:
var document = SwaggerDocument.FromUrlAsync(
"http://localhost:5003/swagger/v1/swagger.json").Result;
var settings = new SwaggerToCSharpClientGeneratorSettings();
settings.GenerateClientClasses = false;
settings.CSharpGeneratorSettings.Namespace = "My.Interface";
settings.CSharpGeneratorSettings.ArrayType = "List";
settings.AdditionalNamespaceUsages = new string[] { "System.Collections.Generic" };
settings.GenerateExceptionClasses = false;
var generator = new SwaggerToCSharpClientGenerator(document, settings);
var code = generator.GenerateFile();
File.WriteAllText("Swagger.MyApi.cs", code);
我已经把混淆swagger.json这里 - https://pastebin.com/hT5ySZub
从模糊swagger.json产生的输出是在这里 - https://pastebin.com/e0AYJWer 在输出中,类型DupEnum在DupEnum,DupEnum2,DupEnum3和TypeBDupEnum类型中定义。