Estoy empezando a usar el proyecto MVC4 Web API, tengo un controlador con múltiples HttpPost
métodos. El controlador tiene el siguiente aspecto:
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 con Fiddler http://localhost:52370/api/VTRouting/TSPRoute
o http://localhost:52370/api/VTRouting/Route
aparece un error:
Se encontraron varias acciones que coinciden con la solicitud.
Si elimino uno de los métodos anteriores, funciona bien.
Global.asax
Intenté modificar la tabla de enrutamiento predeterminada global.asax
, pero todavía recibo 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.