我正在使用Web API,並且正在嘗試調用用於更新用戶的PUT方法。我改變了我的路由以允許調用特定的方法,就像這樣; (這適用於其他方法)。Web Api路徑問題
RouteTable.Routes.MapRoute(
"WithActionApi",
"api/{controller}/{action}/{id}"
);
RouteTable.Routes.MapRoute(
"DefaultApi",
"api/{controller}/{id}",
new { action = "DefaultAction", id = System.Web.Http.RouteParameter.Optional }
);
但是當我嘗試將用戶放到下面的url中時,我收到了404錯誤;
// The url is: http://mysite/
HttpResponseMessage response = await client.PutAsJsonAsync("api/Account/UserInfo/" + user.UserId, user);
該URL如下所示。我也嘗試過「api/Account /」。
http://mysite/api/account/userinfo/{guid}
該方法在我的控制器中看起來像這樣。方法簽名已經從另一個控制器的默認控制器類中腳手架 - 我只添加了屬性並將其移至帳戶控制器。
[RoutePrefix("api/Account")]
...
[HttpPut]
[Route("UserInfo/{id}")]
public IHttpActionResult PutUserInfo(Guid id, User userdetails)
{ }
我也有任何人都可以看到我在這裏做的不對嗎?我非常堅持這一點。
感謝,
我已經這樣做了,是的。仍然沒有快樂。 – creatiive