C# ASP.NET WEBAPI引用的类型不会自动绑定
我有两个简单的课程:C# ASP.NET WEBAPI引用的类型不会自动绑定,c#,asp.net-web-api,C#,Asp.net Web Api,我有两个简单的课程: public class Customer { public virtual int Id{get;set;} public virtual string Name{get;set;} public virtual Brand Brand { get; set; } } public class Brand { public virtual int Id{get;set;} } 在我的webapi中,当我将客户“发布”或“
public class Customer
{
public virtual int Id{get;set;}
public virtual string Name{get;set;}
public virtual Brand Brand { get; set; }
}
public class Brand
{
public virtual int Id{get;set;}
}
在我的webapi中,当我将客户“发布”或“放置”到:
public void Post([FromBody]Customer entity)
它不会创建品牌
参考
这是客户提交的数据:
Name: "Some Customer Name"
Brand.Id: "2" // <<---- this suppose to instanciate Brand inside Customer with "3" as Id
Name:“某个客户名称”
Brand.Id:“2”/我想您应该提交JSON数据。在这种情况下,请尝试更改发送到的数据:
{
Name: "Some Customer Name",
Brand: { Id: "2" }
}
由于Brand是一个子对象,您可以在一块单独的花括号中指定它的值。这似乎是个问题。您确定提交的数据实际上是Web API要识别的正确格式吗?你能展示执行POST请求的代码以及请求主体的实际内容吗?@millimoose我已经更新了这个问题,请参见更新1这个问题与Web API关系不大,而与JSON.NET关系很大。JSON.NET是Web API中默认的JSON序列化程序,如果您了解JSON.NET序列化是如何工作的,您将获得问题的答案。