找到与请求相匹配的多个操作?
问题描述:
我刚刚接触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 methoed经过一个复杂的对象身上,我知道这是不是宁静的方式,但请帮助我理解它。
非常感谢。
答
您可以使用ActionName
注释解决此问题。例如使用:
[ActionName("IEnumerableGet")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
因此,您可以拨打IEnumerableGet
以调用此方法。
你为什么要将一个复杂的对象传递给GET方法?你想做什么? – Nikki9696
只是为什么我不能发送一个复杂的对象获取 – user576510
你可以,但你需要映射那个对象是什么,比如Get(ObjectType thing) – Nikki9696