為ASP.NET Empty 專案建立的 Web API 增加 Help Page
環境:Visual Studio 2013
當依「Getting Started with ASP.NET Web API 2 (C#)」建立 Web API 後,
是沒有辦法看到 API 的說明頁面,因為一開始的範本是 Empty 。
如果要加入 Help Page 的話,可以透過 Nuget 加入 Microsoft ASP.NET Web API 2.2 Help Page,如下,
安裝完成後,請到 Areas\HelpPage\App_Start\HelpPageConfig.cs 中,在 Register Method中取消
config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
註解,如下,
然後,就可以在 專案屬性=>Build 中,勾選產生 XML document file:,
檔名請改成 App_Data\XmlDocument.xml (因為跟 HelpPageConfig.cs 的檔名相同)
再到 global.asax.cs 中 Application_Start Method 中,加入 AreaRegistration.RegisterAllAreas();
建置後就可以看到 API 的 Help Page,如下,
如果點進 api/Products/{id} 後,會發現 Response Formats 是沒有Sample的,如下,
那是因為 api/Products/{id} 的回傳資料型態是 IHttpActionResult, 所以我們可以在Method中去設定 ResponseType 為 Product ,
[ResponseType(typeof(Product))]
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault(p => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
然後再重新建置後, Response Formats 區塊就有資料可以呈現了,如下,
參考資料:
Getting Started with ASP.NET Web API 2 (C#)
How can I get the help documentation to work in WebApi2 when using IHttpActionResult?
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^