我有2種方法超簡單的控制器:路由在MVC 6
public IActionResult Users(long id)
{
return Json(new { name = "Example User" });
}
public IActionResult Users()
{
return Json(new { list = new List<User>() });
}
之一,選擇所有用戶和其他返回的所有用戶。在網頁API 2我可以用戶以下的路徑,和一切工作得很好:
config.Routes.MapHttpRoute(
name: "Users",
routeTemplate: "v1/Users",
defaults: new { action = "Users", controller = "Users" },
constraints: null,
handler: new TokenValidationHandler() { InnerHandler = new HttpControllerDispatcher(config) }
);
我有以下的路線設置在startup.cs:
app.UseMvc(routes =>
{
routes.MapRoute(name: "User_Default", template: "v1/{controller=Users}/{action=Users}/{id?}");
});
但是這給了我一個AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied
我究竟做錯了什麼?
我會猜測你的控制器上有一個屬性'Route',這在許多模板中都有。你能提供你的整個控制器嗎? –
@MattDeKrey我不這樣認爲,如果我簡單地設置我的路線像webapi 2路線 – Gazeth