в проекте WebAPI WebAPIConfig.cs, добавлено 2 маршрута
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Я пытаюсь создать apiController, содержащий следующие функции
[HttpGet]
public string Get(int id)
{
return "get";
}
[HttpGet]
[ActionName("ByWait")]
public string[] ByWait(int id)
{
return "bywait";
}
Я ожидаю, что запрашивающий / api / controllername/ 1234 возвращает «get», а запрос / api / controllername / bywait / 1234 возвращает «bywait».
Однако фактический результат - / api / controllername / 1234 >> throw исключение Было найдено несколько действий, соответствующихзапрос / api / controllername / bywait / 1234 >> "по ожиданию"
Однако может решить проблему?Как ограничить функцию ByWait принимает только запрос, содержащий действие, чтобы он только отвечал на / api / controllername / bywait / 1234 и игнорировал / api / controllername / 1234
Или есть другое лучшее решение?
Спасибо