Sto iniziando a utilizzare il progetto API Web MVC4, ho un controller con più HttpPost
metodi. Il controller ha il seguente aspetto:
controllore
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
Qui MyRequestTemplate
rappresenta la classe modello responsabile della gestione di Json che arriva attraverso la richiesta.
Errore:
Quando faccio una richiesta usando Fiddler per http://localhost:52370/api/VTRouting/TSPRoute
o http://localhost:52370/api/VTRouting/Route
ricevo un errore:
Sono state trovate più azioni che corrispondono alla richiesta
Se rimuovo uno dei metodi di cui sopra funziona benissimo.
global.asax
Ho provato a modificare la tabella di routing predefinita in global.asax
, ma sto ancora ricevendo l'errore, penso di avere problemi nella definizione delle rotte in global.asax. Ecco cosa sto facendo in 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" }
);
}
Sto facendo la richiesta in Fiddler usando POST, passando json in RequestBody per MyRequestTemplate.