【发布时间】:2012-07-09 13:44:30
【问题描述】:
我开始使用 MVC4 Web API 项目,我有多个 HttpPost 方法的控制器。控制器如下所示:
控制器
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
这里MyRequestTemplate代表模板类,负责处理通过请求传来的Json。
错误:
当我使用 Fiddler 向 http://localhost:52370/api/VTRouting/TSPRoute 或 http://localhost:52370/api/VTRouting/Route 发出请求时,我收到一个错误:
找到多个匹配请求的操作
如果我删除上述方法之一,它可以正常工作。
Global.asax
我已经尝试修改global.asax 中的默认路由表,但我仍然收到错误消息,我认为我在 global.asax 中定义路由时遇到了问题。这是我在 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" }
);
}
我正在使用 POST 在 Fiddler 中发出请求,在 RequestBody 中为 MyRequestTemplate 传递 json。
【问题讨论】:
标签: c# asp.net-web-api global-asax asp.net-web-api-routing