为什么我的帖子JSON对象没有被序列化?

时间:2018-03-06 00:26:47

标签: c# asp.net-web-api asp.net-web-api2

为什么我的POST JSON对象没有被序列化?我正在使用Web API 2.0。我的控制器路线如下所示:

sestatus

我的[HttpPost] [Route] public async Task<IHttpActionResult> AddUserAsync([FromBody] User user) { //do some stuff } 对象如下所示:

User

当我传递以下JSON对象时,Id和Name道具会被序列化为空值:

public class User
{
    Guid Id { get; set; }

    string Name { get; set; }
}

我是否需要使用{ "Id": "895C4492-B751-462C-9738-C6CB4E94E21F", "Name": "Joe System" } 或类似内容装饰User

如何在Web API 2中管理它?

1 个答案:

答案 0 :(得分:3)

您的财产不公开。你需要公开它们

public class User {
    public Guid Id { get; set; }    
    public string Name { get; set; }
}

模型绑定器检查预期的对象类型并填充公共属性。

参考Parameter Binding in ASP.NET Web API