Estou começando a usar o projeto MVC4 Web API, tenho um controlador com vários HttpPost
métodos. O controlador é semelhante ao seguinte:
Controlador
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
Aqui MyRequestTemplate
representa a classe de modelo responsável por manipular o Json passando pela solicitação.
Erro:
Quando faço uma solicitação usando o Fiddler para http://localhost:52370/api/VTRouting/TSPRoute
ou http://localhost:52370/api/VTRouting/Route
recebo um erro:
Foram encontradas várias ações que correspondem à solicitação
Se eu remover um dos métodos acima, ele funciona bem.
Global.asax
Eu tentei modificar a tabela de roteamento padrão global.asax
, mas ainda estou recebendo o erro, acho que tenho problemas ao definir rotas no global.asax. Aqui está o que estou fazendo no 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" }
);
}
Estou fazendo a solicitação no Fiddler usando POST, passando json em RequestBody para MyRequestTemplate.