我正在尝试将JSON对象发布到Web Api URL,但它没有绑定到模型。
这似乎是同样的问题:ASP.Net Web Api not binding model on POST
我尝试了他们所做的一切,但仍然无效。您可能注意到的一个区别是我没有使用DataContract
属性,但我不相信它们应该被要求,并且在我尝试它们时没有任何区别。
public class MyModel
{
public int Id { get; set; }
}
Public class MyController : ApiController
{
public int Save(MyModel myModel)
{
// myModel is always null
return 0;
}
}
答案 0 :(得分:5)
你的控制器方法似乎缺少 在上面的例子中,这实际上并不是严格要求的,也许只有在发布原语时才需要? [HttpPost]
属性。
另外,作为一个注释,如果您使用WebApi,我将使用更基于REST的语法,例如使用方法Get,Post,Put ect on your controller而不是命名方法
修改强>
您的帖子还有另外一个非常微妙的问题。标题行无法以;
结尾,因此Content-Type: application/json; charset=utf-8;
应为Content-Type: application/json; charset=utf-8
答案 1 :(得分:0)
可能是编码问题。 我更改了编码,模型绑定成功完成。
client.Encoding = Encoding.UTF8;