2013-04-03 46 views
1

我正在使用区域来帮助组织我的Web API。我基本上有两组API,一组用于执行帐户/用户管理,另一组使用我提供的服务。如何启用ASP.NET Web API帮助页面记录区域

所以,我的路由看起来像这样

“API/{地区}/{控制器}/{行动}/{了accountNumber}”

之前,我开始使用领域,在帮助页面工作正常,但在开始使用区域后,它停止生成帮助文档。有什么我需要配置以获取帮助页面包含的区域?

+0

Web API没有像MVC那样的'Areas'概念,所以你可以分享更多关于你的控制器的外观和你如何计划在Web API中使用'{area}'的细节? –

+0

我一直看到提及Web API没有区域的文章/文章,但代码有效。我可以调用任何API网址,并且它们路由正确。这只是帮助页面没有看到它们。那么你究竟是什么意思,它没有这个概念? –

回答

1

我用多种途径来解决同样的事情,而不地区:

config.Routes.MapHttpRoute("Foo", 
          "api/Foo/{fooId}", 
          new {controller = "Foo", fooId = RouteParameter.Optional}); 

config.Routes.MapHttpRoute("Foo_Bar", 
          "api/Foo/{FooId}/Bars/{barId}", 
          new {controller = "Bar", barId = RouteParameter.Optional}); 

做工精细与HelpPage。

我也试过AttributeRouting,但我更喜欢我的路线。

+0

好吧,我做了你所说的,现在正在工作。自动生成的用于添加区域的代码具有AreaRegistration类,它使用context.MapRoute映射路由。因为我看到我不认为我需要在WebApiConfig中配置路由。我想这就是WebApi不完全支持区域的含义。 –

+0

我可以简单地在控制器中创建子文件夹来组织所有的控制器,并确保我添加了所有的路由?现在帮助页面正在工作的任何理由继续与区域? –

+1

小问题,在帮助页面列出的URL的控制器部分使用大写:(例如POST api /用户/用户/ {id} –

相关问题