我正在编写.net Web API,遇到了麻烦。我有一个支持CRUD操作的/ Users端点。我不希望出于明显的原因在响应中显示密码字段,但是我确实希望能够发布到/ Users并发送密码字段(在创建新用户时)。
当前,我正在使用[JsonIgnore],它在GET / Users情况下可以实现我想要的功能,但是出现此错误:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
当我尝试发布用户时。这是因为[JsonIgnore]标记未发送密码字段。我该如何解决?
这是我的模特:
答案 0 :(得分:1)
有多种方法可以做到这一点,但最干净的方法是实际创建两个针对其用法而修剪的类,或者将属性设置为虚拟,并让派生类覆盖password属性并添加属性。
class Base
{
public virtual string password {get;set;}
}
class Derived : Base
{
[JsIgnore]
public override string password {get;set;}
}