为何我的发布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