有一个项目,其中声明了Node类
public class Node
{
public string id { get; set; }
public int group { get; set; }
public Node( string id, int group)
{
this.id = id;
this.group = group;
}
public Node()
{
}
}
还有方法,它必须接收该对象并对其进行处理
[HttpPost]
public IActionResult Create(Node node)
{
//does stuff here
return NoContent();
}
我不明白的一件事是,在这种方法中,如何正确反序列化我的JSON对象。我的意思是我试图发送看起来像这样的JSON:{“ id”:“ TEST”,“ group”:1},但是接收到的对象的ID为null,group =0。我不明白,我该怎么办?做错了吗?
答案 0 :(得分:0)
默认情况下,ASP.net中的操作方法模型绑定正在寻找application/x-www-url-formencoded
编码的表单值。
您正在请求的正文中发布JSON,因此您需要使用[FromBody]
属性。
[HttpPost]
public IActionResult Create([FromBody] Node node)
{
//does stuff here
return NoContent();
}
答案 1 :(得分:0)
如果您一直在努力反序列化正文,请尝试手动进行操作,以查看是否确实正确发送了它。
>>> l = [1,2,3]
>>> l == sorted(l)
True
>>> l = [2,1,3]
>>> l == sorted(l)
False