我得到了这条路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { id = UrlParameter.Optional }
);
这个 Action :
[System.Web.Http.HttpPost]
[System.Web.Http.ActionName("GetLoginSeed")]
public object GetLoginSeed()
[System.Web.Http.HttpPost]
[System.Web.Http.AllowAnonymous]
[System.Web.Http.ActionName("Authenticate")]
public object PerformLogin(JObject jr)
这是发布请求:
http://localhost:61971/api/Login/GetLoginSeed
为什么我总是收到 multiple actions were found that match the request 错误?
最佳答案
I got this Route:
您所展示的是 MVC Controller 的路由。我希望您意识到 Web API Controller 是完全不同的东西。它们在 ~/App_Start/WebApiConfig.cs
中定义了自己的路由。
因此请确保您已将 {action}
标记包含在您的 Web API 路由定义中(我再次重复,这与您的 MVC 路由定义无关):
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
关于c# - Web API 路由 - 找到多个与请求匹配的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145727/