NSwag SwaggerToCSharpClientGeneratorを使用して要求クラスと応答クラスと列挙型を生成しています。NSwagは重複するタイプを生成します
私は引数として同じenumを共有するWeb APIメソッドをいくつか持っています。 NSwag APIを実行すると、複数の同じ列挙型定義が生成されますが、Enum1、Enum2、Enum3、ResponseClassEnumという名前が付けられます。
NSwag(またはSwashbuckle)を構成して1つの列挙だけが生成されるように設定できますか?
マイ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を入れている - 難読化swagger.jsonから https://pastebin.com/hT5ySZub
生成される出力はここにある - 出力で https://pastebin.com/e0AYJWer を、型DupEnumは、DupEnum、DupEnum2、DupEnum3、およびTypeBDupEnumの型で定義されています。