【发布时间】:2016-06-29 13:52:15
【问题描述】:
问题背景:
我的 WebApi 中有一个控制器,它有两个操作方法。这两个动作方法都是 GET 的,没有参数。
一个操作方法名为“GetMessages”,另一个名为“GetEmployeeList”。
问题:
这些是我的控制器中的以下操作方法:
[HttpGet]
public string GetMessages()
{
return "Get Messages Endpoint";
}
[HttpGet]
public string GetEmployeeList()
{
return "Get Employees Endpoint";
}
这些是我使用 WepApiConfig 设置的海关路线
config.Routes.MapHttpRoute(
name: "Messages",
routeTemplate: "v2/api/People/{action}/{id}",
defaults: new { action = "GetMessages", id = RouteParameter.Optional });
config.Routes.MapHttpRoute(
name: "Employees",
routeTemplate: "v2/api/People/{action}/{id}",
defaults: new { action = "GetEmployeeList", id = RouteParameter.Optional});
当我调用以下 URL 时:
/v2/api/People/GetMessages
/v2/api/People/GetEmployeeList
我收到以下异常消息,指出多个操作与 URL 请求匹配:
Multiple actions were found that match the request: System.Net.Http.HttpResponseMessage GetMessages() on type Persons.PeopleController System.Net.Http.HttpResponseMessage GetEmployeeList() on Persons.PeopleController
我该如何纠正这个问题,以便一起使用两个具有相同签名的 GET 操作方法?
【问题讨论】:
-
在这里查看我的答案:stackoverflow.com/questions/37608637/…
标签: c# asp.net-mvc asp.net-mvc-4 asp.net-web-api