1

我有一个 accountcontroller 有 2 个动作这里是声明:

HttpResponseMessage PostAccount([FromBody] Account account)
public HttpResponseMessage PostLogin([FromBody]string email,[FromBody] string pass)

在提琴手中运行,我收到错误 Multiple actions were found that match the request。我对发生的事情有点困惑。我应该为登录和注册制作两个控制器吗?这是标准做法。

4

1 回答 1

3

您只能有一个来自 Web API 正文的参数。如果你想在 body 中有多个东西,你应该将它们包装在一个容器类中。

您遇到的错误正在发生,因为您有两个以“发布”开头的操作。您可以创建单独的控制器,如果您发布不同类型的实体,这很有意义。或者您可以使用基于操作的路由并创建如下所示的路由:

config.Routes.MapHttpRoute("ActionBased", "{controller}/{action}");

在 POST 时区分这两个操作。

于 2013-02-06T03:20:29.907 回答