В Web API у меня был класс аналогичной структуры:
public class SomeController : ApiController
{
[WebGet(UriTemplate = "{itemSource}/Items")]
public SomeValue GetItems(CustomParam parameter) { ... }
[WebGet(UriTemplate = "{itemSource}/Items/{parent}")]
public SomeValue GetChildItems(CustomParam parameter, SomeObject parent) { ... }
}
Поскольку мы могли отображать отдельные методы, было очень просто получить правильный запрос в нужном месте. Для аналогичного класса, который имел только один метод GET
, но также имел параметр Object
, я успешно использовал IActionValueBinder
. Однако в случае, описанном выше, я получаю следующую ошибку:
Multiple actions were found that match the request:
SomeValue GetItems(CustomParam parameter) on type SomeType
SomeValue GetChildItems(CustomParam parameter, SomeObject parent) on type SomeType
Я пытаюсь подойти к этой проблеме, переопределив метод ExecuteAsync
ApiController
, но пока не повезло. Любые советы по этой проблеме?
Изменить: я забыл упомянуть, что теперь я пытаюсь переместить этот код в ASP.NET Web API, который имеет другой подход к маршрутизации. Вопрос в том, как заставить код работать в ASP.NET Web API?