Web api错误找到了多个操作

时间:2013-09-30 19:45:28

标签: c# asp.net-web-api

我在GridController上有两个类似下面的方法。

[System.Web.Http.AcceptVerbs("POST")]
[System.Web.Http.ActionName("PostData")]
public List<GridDataRow> PostData(GridDataParam data)

[System.Web.Http.AcceptVerbs("POST")]
[System.Web.Http.ActionName("PostGridDataRow")]
public GridDataRow PostGridDataRow(RowDataParam data)   

我从ajax调用中调用这些web api。 当我只有一个方法PostGridDataRow()时,它工作正常。

我添加第二个帖子函数PostData()的那一刻我一直收到错误:

  

找到了多项行动。

由于我有不同的动作名称,它不应该正常工作吗? 我没有在路线映射中定义任何路线。

1 个答案:

答案 0 :(得分:2)

手头的问题是Web API无法选择一种正确的操作方法来映射您的POST请求。您提供了两个与POST请求同样匹配的操作,因为它们都接受一个复杂的参数。

要解决您的问题,请考虑使用一个POST方法创建两个独立的控制器。


尝试使用Web API:如果您要根据下面的传入数据决定调用哪种操作方法,您会选择哪一种?

{ foo: "bar" }