我不确定我在这里做错了什么。每当我向控制器发送请求时,始终会调用Update操作。我在打电话:
http://localhost/members/login/
然而,Update不断获取请求。我甚至尝试在控制器中切换动作的顺序无济于事。
[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
}
}
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
那是因为Api路由它们是相同的。 This article极大地解释了如何在Web API中完成路由和操作选择。如果您不想将它们拆分为两个控制器,请将Update
作为PUT
请求。这应该告诉路由引擎它们是两种不同的行为。
答案 1 :(得分: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
}
}
不确定为什么会这样,但我相信它最终会来找我。