.net 仅在发送GET请求时使用JsonIgnore
我正在编写一个.NETWebAPI,但遇到了问题。我有一个支持CRUD操作的/Users端点。由于明显的原因,我不希望密码字段出现在响应中,但我确实希望能够发布到/Users并发送密码字段(在创建新用户时) 目前我正在使用[JsonIgnore],它在GET/Users的情况下实现了我想要的功能,但我遇到了以下错误:.net 仅在发送GET请求时使用JsonIgnore,.net,asp.net-web-api,.net,Asp.net Web Api,我正在编写一个.NETWebAPI,但遇到了问题。我有一个支持CRUD操作的/Users端点。由于明显的原因,我不希望密码字段出现在响应中,但我确实希望能够发布到/Users并发送密码字段(在创建新用户时) 目前我正在使用[JsonIgnore],它在GET/Users的情况下实现了我想要的功能,但我遇到了以下错误: Validation failed for one or more entities. See 'EntityValidationErrors' property for more
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
当我尝试发布一个用户时。这是因为[JsonIgnore]标记导致密码字段未被发送。我怎样才能解决这个问题
这是我的模型:
有多种方法可以做到这一点,但最干净的方法是实际创建两个类,对其使用情况进行修剪,或者将属性设置为虚拟,并让派生类覆盖password属性并添加属性
class Base
{
public virtual string password {get;set;}
}
class Derived : Base
{
[JsIgnore]
public override string password {get;set;}
}