ASP.NET Core Web API:POST 复杂 Json 数据,子对象始终为空

问题描述 投票:0回答:1

我的项目:ASP.NET Core 8 Web API,我使用的是 VS 2022。

这些是我的模型类:

public class Person 
{
    public Guid ID { get; set; }
    public string Name { get; set; }
    public string Age { get; set; }
    public Address? Address { get; set; }
}

public class Address
{
    public Guid ID { get; set; }
    public string? Street { get; set; }
    public int number { get; set; } = 0;
    public string? City { get; set; }
}

这是我的控制器:

[HttpPost("register")]
[Consumes("application/json")]
[ApiVersion("1.0")]
public async Task<IActionResult> Register([FromBody] Person person)
{
    if (person == null) 
    {
        return BadRequest();
    }

    return Ok();
}

这是我的 Json(发布请求):

{
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "Peter Lee",
    "age": 10,
    "address.id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "address.street": "Mano Hoo Street"
}

问题是:

  1. 人员地址参数始终为空,对于其他人来说它工作正常。
  2. 当代码调试时,post数据为空时,永远不会进入调试断点。

我正在使用 Postman 在“application/json”中发送内容类型的 POST 消息。

有人可以告诉我我做错了什么吗?

asp.net-core asp.net-core-webapi
1个回答
0
投票
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Peter Lee",
  "age": 10,
  "address": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "street": "Mano Hoo Street",
    "number": 0,
    "city": "string"
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.