webapi错误找到多个与请求匹配的操作
本文关键字:请求 操作 错误 webapi | 更新日期: 2023-09-27 17:57:45
我有一个accountcontroller,它有两个操作,这里是声明:
HttpResponseMessage PostAccount([FromBody] Account account)
public HttpResponseMessage PostLogin([FromBody]string email,[FromBody] string pass)
在fiddler中运行时,我收到错误。找到了多个与请求匹配的操作。我对发生的事情有点困惑。我应该为登录和注册制作两个控制器吗?这就是标准做法。
您只能有一个来自Web API主体的参数。如果你想在主体中包含多个东西,你应该将它们包装在一个容器类中。
您遇到的错误是因为您有两个以"Post"开头的操作。您可以创建单独的控制器,这在发布不同类型的实体时是有意义的。或者你可以使用基于动作的路由,创建一个看起来像这样的路由:
config.Routes.MapHttpRoute("ActionBased", "{controller}/{action}");
以便在POST时区分这两个操作。