我正在使用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類型中定義。