环境:
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在另一个项目中。
参考:
生成、读取多个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 |