Ну, я использую ASP.NET Web API 2 с маршрутизацией атрибутов. У меня есть два контроллера с небольшой разницей в их маршрутах:Конфликт веб-Api для двух разных контроллеров?
[RoutePrefix("api/menus")]
public class MenusController : ApiController {
}
[RoutePrefix("api/menus/items")]
public class MenuItemsController : ApiController {
}
У меня есть все методы Творожный в обоих контроллерах. Теперь все методы работают нормально, за исключением POST
. Всякий раз, когда я пытаюсь вызвать POST
метод MenuItemsController
, я получаю следующее сообщение об ошибке:
Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.
Интересно, что POST
метод MenusController
отлично работает нормально. Это только MenuItemsController
POST
метод, вызывающий проблему. Я пробовал использовать Order
свойство Route
также, но напрасно.
Любая помощь очень ценится.
EDIT: маршруты Мои POST
методы ниже:
POST api/menus/
POST api/menus/items
Думаю, у меня такая же проблема. У меня есть GET v1/Jobs/'в одном контроллере и, например, 'GET v1/Jobs/Materials' и' PUT v1/Jobs/{jobID}/Materials/{matID} 'в' MaterialController', который отлично работает. Но когда я добавляю PUT или POST в 'JobController', все контроллеры, которые используют префикс' Jobs' в своем разрыве маршрутизации. –