2017-06-14 6 views
1

ASP.NETコアWeb APIに次のタグ[ProducesResponseType(typeof(SomeEnum), 200)]とマークされたエンドポイントがあります。ここで、SomeEnumは2つ以上の値を持つ列挙型です。私はドキュメントを生成するためにSwaggerを使用します。この問題は、プロジェクトを実行してapi docsページに移動したときに発生します。エンドポイントが列挙型を返すときに応答を記述するスワッガー

enter image description here

しかし、私はこのような何かをしたい:このエンドポイントのために私が持っている唯一のドキュメントがある enter image description here

は大まかに言って、私は私の列挙型は、彼らが取ることができる値の説明をしたいです。

これは私の闊歩構成である:私の場合は

public enum SomeSampleEnum 
{ 
    Success = 1, 
    Fail = 2, 
    OperationResult = 3 
} 

:にあなたの列挙型を変更しよう

public enum SomeSampleEnum 
{ 
    Success, 
    Fail, 
    OperationResult 
} 
+0

enum定義も追加できますか? –

+0

質問に追加されました。 – StefanL19

答えて

0

services.AddSwaggerGen(c => 
      { 
       c.SwaggerDoc("v1", new Info { Title = "API", Version = "v1" }); 

       var fileName = this.GetType().GetTypeInfo().Module.Name.Replace(".dll", ".xml"); 

       c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, fileName)); 

      c.DescribeAllEnumsAsStrings(); 

      c.OperationFilter<AddAuthorizationHeader>(); 
     }); 

例追加する列挙型の定義についてそれはうまくいった。 他のコードも変更する必要があります...

+0

私の場合は動作しません。多分私は設定で何かを見逃しています。 – StefanL19

+0

これはmy Configに似ています。異なる唯一のことは、クラスのプロパティとしてenumを使用していることです。 –

+0

はい、クラスのプロパティとして動作しますが、クラスの一部ではない場合には動作しないのは面白いです。 – StefanL19

関連する問題