Sto iniziando a utilizzare il progetto API Web MVC4, ho un controller con più HttpPostmetodi. 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 MyRequestTemplaterappresenta 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/TSPRouteo 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.