C# 在JSON输出上排除对象属性

C# 在JSON输出上排除对象属性,c#,.net,json,asp.net-core,C#,.net,Json,Asp.net Core,我正在尝试使用用户名和密码创建一个用户模型。 我不想在api响应中显示密码,但注册时需要密码。所以[JsonIgnore]不起作用。 有什么建议吗 public class User { [Required] public string Username { get; set; } [Required] public string Password { get; set; } } 这就是为什么您应该将实际的实体和模型分开。您应该创建一个模型/视图模型,并将其作

我正在尝试使用用户名和密码创建一个用户模型。 我不想在api响应中显示密码,但注册时需要密码。所以
[JsonIgnore]
不起作用。 有什么建议吗

public class User {
    [Required]
    public string Username { get; set; }

    [Required]
    public string Password { get; set; }
}

这就是为什么您应该将实际的实体和模型分开。您应该创建一个模型/视图模型,并将其作为API/MVC控制器的响应发送,如

public class UserModel 
{
  public string Username { get; set; }
}

另一条建议是,不要在实际实体中包含任何数据验证,而应该在模型/视图模型中包含这些验证
[必需]
;并且应该使实体远离这种混乱。

这就是为什么应该将实际实体和模型分开。您应该创建一个模型/视图模型,并将其作为API/MVC控制器的响应发送,如

public class UserModel 
{
  public string Username { get; set; }
}

另一条建议是,不要在实际实体中包含任何数据验证,而应该在模型/视图模型中包含这些验证
[必需]
;并且应该让实体远离这种混乱。

不要在API响应上发送域/实体,而是仅使用您需要的属性创建DTO。您是说您在两个操作中使用相同的模型-注册和其他操作吗?不要在API响应上发送域/实体,而是仅使用您需要的属性创建DTO。您是这样认为的吗说你在两个动作中使用相同的模式-注册和其他什么?