2013-07-24 32 views
1

我正在用MVC4和Web API弄溼我的腳。但是我很難理解現在我需要一個返回數據的Items控件(Web API部分)和另一個Items控件返回顯示Items列表的視圖的事實。mvc4和WebApi導致重複的控制器

是否有一個約定或更簡單的方法來做到這一點在MVC4?我的控制器文件夾變得雜亂無章,像ItemController和ItemsController,一個用於Web API,另一個用於視圖。

+2

將Web Api控制器放置在Controllers文件夾中的一個名爲Api的文件夾中 –

+0

您應該真的回過頭來接受針對您創建它的問題的一些答案可能會讓更多人回答您的問題。 –

+0

我該如何接受答案? – Ray

回答

5

您可以將您的Web API控制器分離在一個子文件夾中,甚至是與主應用程序分離的一個單獨的類庫項目,以避免着名的Controllers文件夾的可怕混亂。 ASP.NET MVC和ASP.NET Web API都沒有提供有關控制器物理位置的S..T。它所關心的是它們在運行時出現在AppDomain中,並且它們尊重標準的命名約定和基本類型。

+0

說到命名約定,我應該命名控制器?在我的情況下,我不認爲ItemController和ItemsController是一個好主意,我應該調用一個ItemsApiController嗎?這是最有經驗的開發人員現在正在做什麼? – Ray

+0

不,只要API控制器位於子文件夾中,您不需要在其名稱中包含「Api」標記。在RESTful約定中,控制器的名稱是資源的名稱。所以如果你的資源被稱爲'Item',那麼你的控制器應該被稱爲'ItemsController'。 –