Método HttpPost múltiple en el controlador API web
Estoy empezando a usar el proyecto MVC4 Web API, tengo controlador con múltiplesHttpPost
metodos El controlador se parece a lo siguiente:
Controlador
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
aquíMyRequestTemplate
representa la clase de plantilla responsable de manejar el Json que llega a través de la solicitud.
Error:
Cuando hago una solicitud usando Fiddler parahttp://localhost:52370/api/VTRouting/TSPRoute
ohttp://localhost:52370/api/VTRouting/Route
Me sale un error:
Se encontraron múltiples acciones que coinciden con la solicitud.
Si elimino uno de los métodos anteriores funciona bien.
Global.asax
He intentado modificar la tabla de enrutamiento por defecto englobal.asax
, pero sigo recibiendo el error, creo que tengo problemas para definir rutas en global.asax. Esto es lo que estoy haciendo en 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" }
);
}
Estoy haciendo la solicitud en Fiddler usando POST, pasando json en RequestBody para MyRequestTemplate.