我目前正在尝试使用WebAPI提供的新ApiController - 即POST方法,因为我没有运气来绑定模型的属性。
这是我的ApiController代码:
public class GameController : ApiController
{
public void Post([FromBody]GameVMTest gameVM)
{
}
}
在此示例中,我可以为此方法创建HTTP Post。 GameVM属性已初始化,但没有任何属性绑定。
所以我认为这可能是由我的HTTP Post方法造成的,所以我写了另一个Post方法,但这次只使用了一个继承Controller类的类:
public class TestController : Controller
{
[HttpPost]
public void Post(GameVMTest gameVM)
{
}
}
我在这个TestController Post方法中使用了相同的HTTP Post,一切正常。
为什么属性绑定适用于继承Controller类而不是ApiController类的类?
注意:我尝试删除[FromBody]属性,但这没有做任何事情。 注意:GameVM属性包含简单的String& Int变量 - 没什么复杂的。
提前致谢。
注意: http post电话来自使用Alamofire的iOS应用。 下面是传递给上述两种方法的JSON字符串:
“{\”isDirty \“:1,\”courtName \“:\”Court 1 \“,\”id \“:11418,\”team1 \“:\”Kenja Hurricane \“,\”team2 \“:\”亚洲之子“,”roundId“:528}”
答案 0 :(得分:0)
阅读本文后
https://lbadri.wordpress.com/2014/11/23/web-api-model-binding-in-asp-net-mvc-6-asp-net-5/
原来请求的主体必须非常具体的WebAPI !!!