c # web api Найдено несколько действий, соответствующих запросу - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь добавить новую конечную точку в уже построенное приложение.У меня есть эти маршруты в моем Global.asax.cs

config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
   "MapByAction",
   "api/{controller}/{action}/{id}",
   new { id = RouteParameter.Optional }
);

config.Routes.MapHttpRoute(
   "Default", // Route name 
   "api/{controller}/{id}", // URL with parameters 
   new { id = RouteParameter.Optional } // Parameter defaults 
);  

Мои действия следующие

[HttpPost]
//[ActionName("MyChangePassword")]
[Route("MyChangePassword")]
public IHttpActionResult ChangePassword([FromBody]UserChangePassword data)
{
    return Ok();
}

Но когда я звоню

/ api /myprofile / MyChangePassword

он путает его с

[ActionName("logout")]
[HttpPost]
public async Task<IHttpActionResult> Logout()

Есть ли какие-либо указатели на то, что я здесь делаю неправильно?

1 Ответ

0 голосов
/ 21 сентября 2018

Попробуйте использовать более четкий URL-адрес маршрута в атрибуте действия.

[Route("api/myprofile/MyChangePassword")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...