ASP.NET Web API 2:建立API協助頁面

來源:互聯網
上載者:User

標籤:

     當你建立了一個web API服務之後,再建一個API協助頁面是很有好處的,這樣其他開發人員就會很清楚地知道如何調用你的API介面。你可以選擇自己手工建立,但是如果能自動產生豈不是更好。為了簡化這項任務, ASP.NET Web API提供了一個在運行時自動產生協助頁的庫。    在項目中添加協助頁,首先使用NuGet安裝Microsoft.AspNet.WebApi.HelpPage庫  

安裝成功後,啟動項目有可能會報的異常  引起異常的原因是Microsoft.AspNet.WebApi.HelpPage庫要依賴於如下程式集,如果項目中使用的程式集版本低於它依賴的版本,NuGet就會把這些程式集升級到依賴的版本。升級之後引起了本地程式集和GAC的程式集衝突。解決該問題的辦法是,在項目的Web.config設定檔中的runtime節點,添加:
< dependentAssembly>        < assemblyIdentity name = "System.Web.WebPages.Razor " publicKeyToken =" 31bf3856ad364e35 "/>        < bindingRedirect oldVersion = "1.0.0.0-3.0.0.0 " newVersion =" 3.0.0.0 "/>      </ dependentAssembly >

在項目Areas 檔案夾下就自動產生了有關協助頁的所有代碼檔案


啟動項目,協助頁的相對路徑是/Help,如果你新增加了API控制器,協助頁內容會在運行時自動更新。協助頁對應的MVC視圖在項目中的路徑是Areas/HelpPage/Views/Help/Index.cshtml,你可以隨自己的意願定製該視圖的布局、介紹、標題、樣式等等。預設產生的協助頁有很多沒什麼實際意義的佔位字串。你可以使用XML文檔注釋功能來建立有意義的文檔。要開啟該功能,需要開啟Areas/HelpPage/App_Start/HelpPageConfig.cs檔案,取消下面這句代碼的注釋:
// Uncomment the following to use the documentation from XML documentation file.config.SetDocumentationProvider( new XmlDocumentationProvider ( HttpContext.Current.Server.MapPath( "~/App_Data/XmlDocument.xml" )));
然後在方案總管,右鍵項目名稱,選擇屬性,選擇產生,在輸出配置項,勾選XML文檔檔案,修改輸出路徑為App_Data/XmlDocument.xml然後開啟API控制器檔案,通過XML文檔注釋方式(///方式)給控制器的Action方法添加註釋
/// <summary>/// 查詢指定ID的商品資訊/// </summary>/// <param name="id"> 商品ID </param>/// <returns> 查詢到的商品記錄 </returns>[ HttpGet]public Product Get( int id){    return repository.Products.FirstOrDefault(p => p.ProductId == id);}
重新編譯運行項目,導航到協助頁,添加的注釋資訊就顯示到了協助頁如果要協助頁上隱藏某個API介面的資訊,可以給該Action添加ApiExplorerSettings特性同時 IgnoreApi屬性設定為true
/// <summary>/// 擷取商品列表/// </summary>/// <returns> 商品列表 </returns>[ ApiExplorerSettings(IgnoreApi = true )]public IEnumerable < Product> Get(){    return repository.Products;}
你也可以給控制器添加該特性,整個控制器的資訊都不會出現在協助頁上。  

ASP.NET Web API 2:建立API協助頁面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.