C# webapi错误找到多个与请求匹配的操作
我有一个accountcontroller,它有两个操作,以下是声明:C# webapi错误找到多个与请求匹配的操作,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,我有一个accountcontroller,它有两个操作,以下是声明: HttpResponseMessage PostAccount([FromBody] Account account) public HttpResponseMessage PostLogin([FromBody]string email,[FromBody] string pass) 在fiddler中运行时,我收到错误消息,发现多个操作与请求匹配。我对发生的事情有点困惑。我应该制作两个控制器用于登录和注册吗?这是标准做
HttpResponseMessage PostAccount([FromBody] Account account)
public HttpResponseMessage PostLogin([FromBody]string email,[FromBody] string pass)
在fiddler中运行时,我收到错误消息,发现多个操作与请求匹配。我对发生的事情有点困惑。我应该制作两个控制器用于登录和注册吗?这是标准做法。在Web API中,只能有一个来自主体的参数。如果希望在主体中包含多个对象,则应将它们包装在容器类中 发生错误是因为您有两个以“Post”开头的操作。您可以创建单独的控制器,如果要发布不同类型的实体,这很有意义。或者,您可以使用基于操作的路由并创建如下所示的路由:
config.Routes.MapHttpRoute("ActionBased", "{controller}/{action}");
在发布时区分这两种操作。谢谢。相同的规则是否适用于PUT、GET和DELETE?示例GetData(字符串名称)和GetInformation(字符串标题)只要参数不同,就可以让GetData和GetInformation在没有基于操作的路由的情况下正常工作。所以它应该会起作用。您只需通过使用Account?name=foo获取数据,并使用Account?title=bar获取信息