Je commence à utiliser le projet d'API Web MVC4, j'ai un contrôleur avec plusieurs HttpPost
méthodes. Le contrôleur ressemble à ce qui suit:
Manette
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
Ici MyRequestTemplate
représente la classe de modèle responsable de la gestion du Json passant par la requête.
Erreur:
Lorsque je fais une demande en utilisant Fiddler pour http://localhost:52370/api/VTRouting/TSPRoute
ou http://localhost:52370/api/VTRouting/Route
j'obtiens une erreur:
Plusieurs actions correspondant à la demande ont été trouvées
Si je supprime l'une des méthodes ci-dessus, cela fonctionne bien.
Global.asax
J'ai essayé de modifier la table de routage par défaut dans global.asax
, mais j'obtiens toujours l'erreur, je pense que j'ai un problème pour définir les routes dans global.asax. Voici ce que je fais dans 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" }
);
}
Je fais la demande dans Fiddler en utilisant POST, en passant json dans RequestBody pour MyRequestTemplate.