我已经在我的 WebAPI 应用程序中实现了一个版本控制框架,并且非常希望让它与 Microsoft 的新帮助页面扩展一起工作。
Microsoft.AspNet.WebApi.HelpPage
很简单,我不知道如何让他们一起工作。我有2个项目:
- AdventureWorks.Api(主要主机/根应用程序)
- AdventureWorks.Api.v1(包含 API 第一版的类库)
版本控制按预期工作。
我尝试在根应用程序上安装 HelpPage 包,当我浏览到帮助页面时,似乎没有找到任何控制器。在内部,我相信它使用:
Configuration.Services.GetApiExplorer().ApiDescriptions
这不返回任何结果,所以我得到一个错误。
谁能帮助我让这两个软件包一起工作?
编辑: 一开始,我不确定这是一个路由问题,但最近的评论似乎表明并非如此。这是我的 RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "SldExportAliasApi",
routeTemplate: "api/v{version}/sld-export/{id}",
defaults: new { id = RouteParameter.Optional, controller = "Export" }
);
routes.MapHttpRoute(
name: "LinkRoute",
routeTemplate: "api/v{version}/link/{system}/{deployment}/{view}",
defaults: new { controller = "Link" }
);
routes.MapHttpRoute(
name: "DefaultSubParameterApi",
routeTemplate: "api/v{version}/{controller}/{id}/{param}",
defaults: new { id = RouteParameter.Optional, param = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/v{version}/{controller}/{action}/{id}",
defaults: new { action = "Index", id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}