環境:
vs2015、win7
參考:http://www.cnblogs.com/Erik_Xu/p/5638381.html
生成的help頁面如下:,並沒有顯示控制器和方法。
原因是:新建項目時候沒有勾選Web Api,webapi是后來添加的。缺少App_Start下的WebApiConfig.cs文件,如下。要顯示Action,更改為 routeTemplate: "api/{controller}/{action}/{id}",
public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }
缺少Global.asax中的 GlobalConfiguration.Configure(WebApiConfig.Register);
另:當post請求類或返回類在另一個項目中時候,需要生成、讀取多個xml文件才能夠顯示這些類的注釋。
結構如下:。這些類都在Dto中,但WebSite在另一個項目中。
參考:
關於Web Api的HelpPage文檔注釋問題。
生成、讀取多個xml文件。
注意:XML路徑可以寫物理路徑,如:D:\git\Smart Find\SmartFind\Lenovo.MediaRepository\App_Data\MediaFacade.xml
另外,如果不想action顯示在help頁面,注釋
/// <summary>
/// 用戶信息。獲取當前登錄用戶token
/// </summary>
/// <returns></returns>
[ApiExplorerSettings(IgnoreApi = true)]
[AllowAnonymous]
public string GetCurrentToken()
{
HttpRequest request = HttpContext.Current.Request;
return request.Headers["x-auth-token"];
}
Swashbuckle