【发布时间】:2015-11-19 04:54:49
【问题描述】:
我目前正在尝试使用 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}"
【问题讨论】:
-
博文正文中发送的 JS 对象是什么?
-
这几次发生在我身上是由一些格式错误的 json 发送引起的。例如使用“左双引号”标记而不是简单的“双引号”标记
-
提供更多关于如何调用 WEB API 方法的信息,这将有助于识别问题。
标签: c# .net model-view-controller