Wiele metod HttpPost w kontrolerze Web API
Zaczynam używać projektu MVC4 Web API, mam kontroler z wielomaHttpPost
metody. Kontroler wygląda następująco:
Kontroler
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
TutajMyRequestTemplate
reprezentuje klasę szablonów odpowiedzialną za obsługę Json przechodzącą przez żądanie.
Błąd:
Kiedy składam prośbę za pomocą Skrzypka zahttp://localhost:52370/api/VTRouting/TSPRoute
lubhttp://localhost:52370/api/VTRouting/Route
Dostaję błąd:
Znaleziono wiele działań zgodnych z żądaniem
Jeśli usunę jedną z powyższych metod, działa dobrze.
Global.asax
Próbowałem zmodyfikować domyślną tabelę routingu wglobal.asax
, ale wciąż otrzymuję błąd, myślę, że mam problem z definiowaniem tras w global.asax. Oto co robię w global.asax.
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
name: "MyTSPRoute",
routeTemplate: "api/VTRouting/TSPRoute",
defaults: new { }
);
routes.MapHttpRoute(
name: "MyRoute",
routeTemplate: "api/VTRouting/Route",
defaults: new { action="Route" }
);
}
Wykonuję żądanie w Fiddler używając POST, przekazując json w RequestBody dla MyRequestTemplate.