postman 如何在.NET Core Web API中发布IFormFile的嵌套列表?

34gzjxbg  于 2023-03-18  发布在  Postman
关注(0)|答案(1)|浏览(159)

我正在处理一个ASP.NET核心Web API项目(.NET 7.0)。我正在尝试生成一个终结点以随文件沿着发送数据。Post控制器操作接受ParentDto类的一个示例。此类包含ChildDto的列表(每个列表都有一个字符串值)、IFormFile的集合以及相同类型的子级的可选列表。

public class ParentDto
{
    public int Id { get; set; }
    public List<ChildDto> Children { get; set; }
}

public class ChildDto
{
    public string? Value { get; set; }
    public List<IFormFile>? Files { get; set; }
    public List<ChildDto>? Children { get; set; }
}

[ApiController]
public class TestController : ControllerBase
{
    [HttpPost]
    public IActionResult Post([FromForm] ParentDto dto)
    {
        // Controller code...
    }
}

当我使用Postman随文件一起发送数据时,Files属性仅为层次结构的第一级填充。children[0][children][0].files属性为null,而所有其他属性都正确填充。即使我向ParentDto.Children属性添加多个子项,也会为每个子项正确处理文件列表。问题似乎出在嵌套列表中。

相关问题