2017-06-14 203 views
1

我的ASP.NET Core Web API中有一個端點,標記爲[ProducesResponseType(typeof(SomeEnum), 200)]。其中SomeEnum是具有兩個或更多值的枚舉。我使用Swagger來生成文檔。當我運行項目並導航到api文檔頁面時,問題就出現了。對於這個端點我唯一的文檔是:Swagger描述端點返回枚舉時的響應

enter image description here

但我想有這樣的事情: enter image description here

廣義地說,我希望我的枚舉有他們可以採用的數值的說明。

這是我昂首闊步配置:

一個枚舉定義
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>(); 
     }); 

實例添加:

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

您還可以添加枚舉定義嗎? –

+0

已添加到問題中。 – StefanL19

回答

0

嘗試將枚舉更改爲:

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

在我的案例那工作。 您可能還需要更改其他一些代碼...

+0

在我的情況下不起作用。也許我在配置中缺少一些東西。 – StefanL19

+0

它與我的配置類似。唯一不同的是,我使用枚舉作爲一個類的屬性。 –

+0

是的,作爲一個類的一個屬性它的工作原理,但它很有趣,它不是一個類的一部分時不起作用。 – StefanL19