隐藏 web api 响应的属性

Nav*_*een 1 c# asp.net-core-webapi

我想隐藏Modifiedby,ModifieddateCreateddateweb api 响应中的属性。

我尝试使用[JsonOgnore][IgnoreDataMember]但没有奏效。

[ModelMetadataType(typeof(UserModel))]
partial class TUsers
{
}

public class UserModel
{
    public int Userid { get; set; }
    [Required]
    public string Firstname { get; set; }
    public string Middlename { get; set; }
    public string Lastname { get; set; }
    public int? Modifiedby { get; set; }
    public DateTime? Modifieddate { get; set; }
    public DateTime? Createddate { get; set; }
}


    [HttpGet("{id}")]
    public IActionResult Get(int id)
    {
        try
        {
            var user = _service.GetUser(id);
            return Ok(new { status = Constants.Success, message = "", User = user });
        }
        catch (Exception ex)
        {
            return BadRequest(new { status = Constants.Failed, message = ex.Message });
        }
    }
Run Code Online (Sandbox Code Playgroud)

实际结果

{
    "status": "success",
    "message": "",
    "user": {
        "userid": 0,
        "firstname": null,
        "middlename": null,
        "lastname": null,
        "modifiedby": null,
        "modifieddate": null,
        "createddate": null
    }
}
Run Code Online (Sandbox Code Playgroud)

预期结果

{
    "status": "success",
    "message": "",
    "user": {
        "userid": 0,
        "firstname": null,
        "middlename": null,
        "lastname": null
    }
}
Run Code Online (Sandbox Code Playgroud)

Sun*_*ule 5

简单地说,您可以使用以下属性。

[JsonIgnore]
public int? Modifiedby { get; set; }
Run Code Online (Sandbox Code Playgroud)