WebApi添加注釋


目前在做WepApi的項目,發現添加注釋后還是不能顯示在頁面中,於是默默的查詢了一些資料得到如下結論:

在Web API項目目錄里有一個Area,里面有個HelpPage文件夾,這里面放的都是HelpPage生成器的代碼、頁面模版和配置文件。

在不做任何更改的情況下,你的WebAPI項目現在就已經具有基本的生成文檔的功能了。

瀏覽/Help,即Areas.HelpPage.Controllers.HelpController的Index() Action,就能看到自動生成的API文檔:

你們可能注意到,我的表格里“Description”字段是有內容的,而你們自己的是木有的。這個其實是需要額外去配置的。

這個Description的內容所使用的其實是代碼里方法的注釋,即/// <summary>形式的注釋。如果你有擼過類庫的經驗,你會知道這些東西是可以生成XML的,許多文檔生成器都要使用這份XML作為metadata的來源。

在我們的網站里,這樣的metadata信息通常應該放在App_Data文件夾里,而不是默認的bin目錄里。所以我們要對Web API的項目屬性做一些更改。

打開項目屬性,在Build頁面里,勾選XML documentation file,並把他它擼到App_Data下面:

然后打開Areas\HelpPage\App_Start下的HelpPageConfig.cs

取消Register方法中第一段代碼的注釋,並且把XML文件的路徑改成剛才在剛才在項目屬性頁里設置的路徑。

public static void Register(HttpConfiguration config) { // Uncomment the following to use the documentation from XML documentation file. config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/PatientView.Service.WebAPI.xml"))); ... }

現在,如果你在API方法上寫三斜杠的注釋,就會被生成在網頁上。

/// <summary> /// 病區列表 /// </summary> /// <returns></returns> [Route("GetLocationUnits")] public Response<List<LocationUnitModel>> GetLocationUnits() { return TryResponse(() => _operatorBll.GetLocationUnits(), method: "GetLocationUnits"); }

轉自:http://edi.wang/post/2013/10/28/auto-generate-help-document-aspnet-webapi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM