мне нужно использовать несколько POST-запросов в веб-API, но получаю сообщение об ошибке: «было обнаружено несколько действий, которые соответствуют запросу ...»Multiple POST-запрос в Web API
У меня есть 2 POST-запросов в мой контроллер:
public void PostStart([FromBody]string value)
{
CookieHeaderValue cookie = Request.Headers.GetCookies("user").FirstOrDefault();
...
}
public void PostLogin([FromBody]string value)
{
CookieHeaderValue cookie = Request.Headers.GetCookies("user").FirstOrDefault();
...
}
Мой файл маршрут выглядит следующим образом в настоящее время:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "apistart",
routeTemplate: "Home/api/values/start/{id}",
defaults: new { action = "PostStart", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "apilogin",
routeTemplate: "Home/api/values/login/{id}",
defaults: new { action = "PostLogin", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Если я удалю на запросах от контроллера, все работает отлично, так что мои маршруты кажутся действительными, но когда оба запрашивает ar e, маршрутизатор не может найти правильный.
Любые мысли? Я пытался использовать настройки уже маршрут по умолчанию другой, но это ничего не меняет:
routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Спасибо, это помогло, но только с тремя маршрутами. По умолчанию это невозможно. – Stivin