网页 api 错误 找到多个操作

本文关键字:操作 api 错误 网页 | 更新日期: 2023-09-27 18:33:32

我在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()的那一刻,我不断收到错误:

发现了多个操作。

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

网页 api 错误 找到多个操作

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

若要解决您的问题,请考虑创建两个单独的控制器,每个控制器有一个 POST 方法。


尝试站在 Web API 的立场上:如果要仅根据如下所示的传入数据来决定调用哪种操作方法,您会选择哪一种?

{ foo: "bar" }