我是WebAPI的新手,只是探索它的默认样本“值”控制器,它与项目一起开箱即用。
我发现它已经有两个Get方法了:
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
我尝试使用复杂类型更改了int id,并收到“找到符合请求的多个操作”
为什么它工作得很好?
我的路线是defuatl:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我使用Get方法在身体中传递一个复杂的物体,我知道这不是一种宁静的方式,但请帮助我理解它。
非常感谢。
答案 0 :(得分:1)
您可以对此问题使用ActionName
注释。例如使用:
[ActionName("IEnumerableGet")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
因此,您可以调用IEnumerableGet
来调用此方法。