在JSON输出上排除对象属性

时间:2017-08-14 09:30:42

标签: c# .net json asp.net-core

我正在尝试使用用户名和密码创建用户模型。 我不希望密码显示在api响应中,但是在注册时需要它。所以[JsonIgnore]不会工作。 有什么建议吗?

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

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

1 个答案:

答案 0 :(得分:3)

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

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

另一条建议,从不在实际实体中包含任何数据验证,而应在模型/ viewmodel中进行验证[Required];并且应该让实体远离这种混乱。