首页 > 解决方案 > 如何用 ASP.NET 核心中的空集合替换输入模型中的空集合

问题描述

我有一个来自正文的输入模型:

public class User
{
    public string Name { get; set; }
    public List<string> Books { get; set; }
}

当用户发送

{
  "name": "John",
  "books": null
}

我的 Books 属性为空,但我希望它是空列表。如何为所有控制器和模型执行一次?

标签: asp.net-core

解决方案


ASP.NET Core 知道如何将参数绑定到构造函数。这不是最好的方法,但这是我决定采用的方法:

public class User
{
    public User(string name, List<string> books)
    {
        Name = name;
        Books = books ?? new List<string>();
    }

    public string Name { get; set; }
    public List<string> Books { get; set; }
}

推荐阅读