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í MyRequestTemplaterepresenta 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/TSPRouteo 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.