10
我有以下控制器應該接受用戶名和密碼作爲負載在POST中。如果我將其更改爲HttpGet,它就可以工作。WebAPI - 屬性路由POST不能與WebAPI Cors一起使用?
[RoutePrefix("api")]
public class AccountController : ApiController
{
[HttpPost("login/{username}/{password}")]
[AcceptVerbs("POST")]
public Login Login(string username, string password)
{
Login login = new Login();
if (username == "user" && password == "pw") login.Success = true;
else login.Success = false;
return login;
}
}
OPTIONS請求可以通過但POST失敗。
選項首部:
OPTIONS響應:
POST頭:
POST響應:
任何想法,我做錯了嗎?
我會試試這個馬上。但正如你在場景5中看到的那樣[HttpPost(「my/action1/{param1}/{param2」)]應該可以工作:https://aspnetwebstack.codeplex.com/wikipage?title=Attribute%20routing%20in%20Web% 20API – niklr
是的,應該工作,因爲在這種情況下,param1和param2都來自URL而不是來自您的情況的請求主體。 – nemesv
那你爲什麼要用HttpPost呢?對我沒有意義。 – niklr