visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决
环境:
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