我有两个Get方法。我想通过使用以下网址来访问它
但是我试图称其为我正在跟踪异常
AmbiguousActionException:多个动作匹配。以下动作与路线数据匹配,并且满足所有约束条件:
// GET api/values/5
[HttpGet("{id}")]
public ActionResult<string> Get(SomeEnum id)
{
//somecode
return "value";
}
[HttpGet("{id}")]
public ActionResult<string> Get(SomeEnum id,int status)
{
//somecode
return "value";
}
有什么办法可以将这样的溃败与多重获取方法一起使用
答案 0 :(得分:0)
ASP.NET核心提供的任何可用的开箱即用的东西都可以帮助您解决问题。如其中一项注释中所建议,您应将status
参数设置为nullable
,并在action方法中使用它来决定下一步要做什么。像这样:
[HttpGet("{id}")]
public ActionResult<string> Get(SomeEnum id,int? status)
{
if(status == null)
{
//perform usual logic which requires only id
}
else
{
//perform logic or call a method which requires both id and status
}
return "value";
}