-1

我不确定我在这里做错了什么。每当我向控制器发布请求时,总是会调用更新操作。我打电话给:

http://localhost/members/login/

但是更新不断收到请求。我什至尝试在控制器中切换操作的顺序无济于事。

[RoutePrefix("Members")]
public class MembersController : ApiController
{
    [POST("{member}")]
    public void Update(Member member)
    {
        //Do Some Stuff
    }

    [POST("Login/{member}")]
    public HttpResponseMessage MemberLogin(Member member)
    {
       //Do Some Stuff
    }
}

任何帮助深表感谢。谢谢!

4

2 回答 2

0

那是因为对于 Api 路由,它们是相同的。这篇文章详细解释了如何在 Web API 中完成路由和动作选择。如果您不想将它们拆分为两个控制器,请Update作为PUT请求发出。这应该告诉路由引擎它们是两个不同的操作。

于 2013-04-05T03:22:49.673 回答
0

我想通了,通过反复试验(很多小时:/)

[RoutePrefix("Members")]
public class MembersController : ApiController
{
    [POST("Update")]
    public void Update(Member member)
    {
        //Do Some Stuff
    }

    [POST("Login")]
    public HttpResponseMessage MemberLogin(Member member)
    {
       //Do Some Stuff
    }
}

不知道为什么会这样,但我相信它最终会来找我。

于 2013-04-05T04:03:59.070 回答