首页 > 解决方案 > 将嵌套的复杂类型发布到 .net core 2.0 api

问题描述

我有这些课程:

class General
{
   public Inner Inner {get; set;}
   public String Foo {get; set;
}
class Inner
{
   public String Bar {get; set;}
}

在我的 .net 核心控制器中,我想发布一个通用对象:

public IActionResult Post([FromBody]General product)
{

}

我正在用 Postman 发布这个 json 对象:

{
    "Foo": "hola",
    "Inner": {"Bar": "hello"}
}

如果我发布这个,复杂类型“内部”在“产品”中为空。Foo 属性已成功设置为“hola”。

如何发布嵌套的复杂对象?使用列表项没有问题。

标签: c#api

解决方案


那是因为Innertype 有一个名为Barand not的属性Foo。因此它不能反序列化为 Inner 类型。你的 JSON 应该是

{
    "Foo": "hola",
    "Inner": {"Bar": "hello"}
}

推荐阅读