![](/img/trans.png)
[英]asp.net core 3.1 SignalR: pass complex object from javascript client to Hub
[英]ASP.NET Web API - pass a complex type from javascript json
我有一个ASP.NET Web API,它接受其中带有UserModel的POST:
[HttpPost]
public object Post(UserModel userModel)
{
// some logic here
}
UserModel是一个复杂的类型,如下所示:
public class UserModel
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public AddressModel CurrentAddress { get; set; }
}
AddressModel
模型如下所示:
public class AddressModel
{
public string Country { get; set; }
public string City { get; set; }
public string Street { get; set; }
public string Number { get; set; }
}
我正在尝试从JavaScript调用此API并发送JSON对象。 这是我要发送的JSON对象:
var user = {
Id: 1,
FirstName: 'Hello',
LastName: 'World',
CurrentAddress: {
Country: 'Israel',
City: 'Tel Aviv',
Street: 'Shalom',
Number: '5'
}
};
我在Post方法中得到的是一个UserModel
其中的UserModel字段填充了正确的信息,CurrentAddrent地址已初始化,但发送的值不存在。 父对象的值( UserModel
对象可以)。
我在这里做错了什么? 如何将复杂对象发送到WebAPI模型?
要在MVC Web API操作中接收复杂的数据对象,必须将[FromBody]属性添加到POST参数中。
[FromBody]通知Web API在POST请求的正文中搜索参数的值。
[HttpPost]
public void Post([FromBody] UserModel userModel)
{
}
我进行了本地测试,并获得了值。
希望对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.