那麼,我正在使用ASP.NET Web API 2的屬性路由。我有兩個控制器,他們的路線有細微的差異:兩個不同控制器的Web Api路由衝突?
[RoutePrefix("api/menus")]
public class MenusController : ApiController {
}
[RoutePrefix("api/menus/items")]
public class MenuItemsController : ApiController {
}
我有兩個控制器中的所有CURD方法。現在除了POST
之外,所有的方法都能正常工作。每當我嘗試調用的MenuItemsController
POST
方法,我得到以下錯誤:
Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.
有趣的是,MenusController
作品POST
方法完全確定。這只是造成問題的MenuItemsController
的POST
方法。 我嘗試使用Order
Route
的財產,但徒勞無益。
任何幫助,高度讚賞。
編輯: 我POST
方法路線低於:
POST api/menus/
POST api/menus/items
我想我有同樣的問題。我在一個控制器中有一個'GET v1/Jobs /',例如在'MaterialsController'中的'GET v1/Jobs/Materials'和'PUT v1/Jobs/{jobID}/Materials/{matID}'可以正常工作。但是,當我將「PUT」或「POST」添加到「JobsController」時,所有在其路由中使用「作業」前綴的控制器都會中斷。 –