ApiController模型绑定属性未绑定

时间:2015-11-19 04:54:49

标签: c# .net model-view-controller

我目前正在尝试使用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}”

1 个答案:

答案 0 :(得分:0)

阅读本文后

https://lbadri.wordpress.com/2014/11/23/web-api-model-binding-in-asp-net-mvc-6-asp-net-5/

原来请求的主体必须非常具体的WebAPI !!!