【发布时间】:2023-03-13 17:29:01
【问题描述】:
当我将 Web API 控制器与 FROMBody 一起使用时,模型总是返回 null。
Product 对象的模型如下:ProductID 和 List of Order 对象:
public class ProductModel
{
[Required]
public string productID { get; set; }
[Required]
public List<Order> order { get; set; }
}
public class Order
{
public string orderId { get; set; }
public string name { get; set; }
}
public IHttpActionResult PostProduct([FromBody]ProductModel model)
{
var jsonContent = new JavaScriptSerializer().Serialize(model);
}
以下 POSTMAN 中使用的 JSON 示例。请注意,当通过 1 个订单传入产品时,我没有用方括号 [] 将订单对象括起来,这是因为最终系统消耗控制器总是在没有 [] 的情况下传入单个产品。
调试时,Order 始终为空。只要我用[] 括住Order 对象,它就可以正常工作。
{
"productID":"1",
"order":{
"orderId":"1-88",
"name":"Shoe"
}
}
是否可以使用上述 JSON 设置模型来处理单产品和多产品两种情况。
我在尝试一些不可能的事情吗?
【问题讨论】:
标签: c# json asp.net-web-api model controller