Предыстория вопроса:
У меня есть один контроллер в моем 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-адресов pf:
/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 вместе, которые имеют одинаковую подпись?