2013-04-03 42 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} –

相關問題