为什么我的POST JSON对象没有序列化?我正在使用Web API 2.0。我的控制器路线如下所示:
[HttpPost]
[Route]
public async Task<IHttpActionResult> AddUserAsync([FromBody] User user)
{
//do some stuff
}
我的
User
对象如下所示:public class User
{
Guid Id { get; set; }
string Name { get; set; }
}
当我传递以下JSON对象时,Id和Name道具将使用空值序列化:
{
"Id": "895C4492-B751-462C-9738-C6CB4E94E21F",
"Name": "Joe System"
}
我需要用
User
或类似的东西装饰[DataContract]
吗?如何在Web API 2中进行管理?
最佳答案
您的财产不公开。您需要将其公开
public class User {
public Guid Id { get; set; }
public string Name { get; set; }
}
模型绑定程序检查预期的对象类型并填充公共属性。
参考Parameter Binding in ASP.NET Web API