其他分享
首页 > 其他分享> > 为何我的发布JSON对象没有序列化?

为何我的发布JSON对象没有序列化?

作者:互联网

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

[HttpPost]
[Route]
public async Task<IHttpActionResult> AddUserAsync([FromBody] User user)
{
    //do some stuff
}

我的用户对象如下所示:

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

    string Name { get; set; }
}

当我传递以下JSON对象时,Id和Name道具将使用空值序列化:

{
    "Id": "895C4492-B751-462C-9738-C6CB4E94E21F",
    "Name": "Joe System"
}

我需要用[DataContract]或类似的东西装饰用户吗?

如何在Web API 2中进行管理?

解决方法:

您的财产不公开.您需要将其公开

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

模型绑定程序检查预期的对象类型并填充公共属性.

参考Parameter Binding in ASP.NET Web API

标签:asp-net-web-api,asp-net-web-api2,c
来源: https://codeday.me/bug/20191109/2012505.html