私は2つのメソッドを持つ非常にシンプルなコントローラーを持っています:
public IActionResult Users(long id)
{
return Json(new { name = "Example User" });
}
public IActionResult Users()
{
return Json(new { list = new List<User>() });
}
1 つはすべてのユーザーを選択し、もう 1 つはすべてのユーザーを返します。Web 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
私は何を間違っていますか?