5

我正在使用Web API幫助頁面生成器生成我的API文檔。但問題是,幫助頁面生成器無法生成具有Enum參數的方法的文檔。對象和動態類型的參數也會發生這種情況。具有枚舉參數的方法的Web API幫助頁面

這裏是我的方法:

public HttpResponseMessage Get(Status status, DateTime? date = null) 
{ 
    ... 
} 

enum Status 
{ 
    Avaliable, 
    Busy, 
    Canceled, 
    Failed, 
    Sent 
} 

這裏是生成文檔:

GET api/StatusCheck?date={date} 

但正確的形式是:

GET api/StatusCheck?status={status}&date={date} 

當我去API模型文檔參數在那裏,但沒有說明。

是這樣的:

GET api/StatusCheck?date={date} 

Unavaliable. 

Request 
Parameters 

Name   Description 
status   Unavaliable. 
date   Unavaliable. 

這是在幫助頁面生成一個BUG?我如何修復我的頁面示例?

回答

3

這實際上是一個在今年4月份修復的錯誤。以下是與此相關的問題。

http://aspnetwebstack.codeplex.com/workitem/312

+0

Nuget沒有更新。我如何更新我的來源? –

+1

RC(發佈候選)今天發佈。你可以嘗試升級你的nuget軟件包,看看你的問題是否已修復。 –

+0

還沒有工作。我將所有AspNet軟件包更新到可用版本4.0.30506.0。 –

4

我在我結束了類似的問題,這是通過簡單地添加以下代碼到GetTypeName(Type type)方法內XmlDocumentationProvider.cs解決。

if (type.IsEnum) { return type.FullName.Replace("+", "."); }

我枚舉都在一個大的枚舉類,問題是,這個函數返回其未在XML文件中找到枚舉+ MyEnum。當然,應該查找的值是Enums.MyEnum。

+0

這是我工作的 - 我正在運行Web API的最新nuget –

+0

修復了我的問題。描述沒有顯示給我他/她們輸入的名字不匹配(+ vs。)。謝謝! – Darky711