Я пытаюсь использовать веб-API и веб-приложение бок о бок и некоторые проблемы с маршрутизацией веб-API.ASP.MVC проблемы с веб-api routing
Это маршрут конфигурации:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
// Map this rule first
config.Routes.MapHttpRoute(
name: "WithActionApi",
routeTemplate: "api/{controller}/{action}/"
);
//sets up the API route
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/"
//,defaults: new { id = RouteParameter.Optional }
);
Он отлично работает для веб-приложение и работает отлично подходит для веб-API, который включает в себя только/API/контроллер, но не работает нормально, если я вызываю/API/Controll/действие
Я использую:
[HttpPost]
[ActionName("ConfirmRequest")]
public HttpResponseMessage ConfirmRequest(string guid, string type, PartiStatus status = PartiStatus.Yes)
Чтобы указать глагол действия и имя. Я попробовал отладчик маршрута (который не работает в веб-api) и другой, который делает (и выходит из строя) и не смог заставить действие POST работать.
Я закончил тем, что изменил эти действия на GET, и он отлично работает, я думаю, что параметры GET помогают структуре понять это.
Я все еще не уверен, как заставить его работать должным образом. (без сопоставления индивидуальности действиям)
Спасибо! Я использую Get when [HttpGet] и публикую, когда [HttpPost] и используя скрипач, чтобы проверить и отправить сообщение/получить. –
И маршрутизация все еще работает неправильно? Какой результат вы делаете? –