asp.net-web-api - Web Api 从前面获取一个数组
问题描述
问题很简单:-)。我是初学者。
数据到达控制器 (WebApi)。如果你放一个物体。
[HttpPost]
public async Task<IActionResult> AddOrder(Object [] orderR)
ValueKind = Object : "{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-
08d8db1aac26","code":"666666","name":"test6","price":6,"category":"test6","orrderItems":"320d57eb-
3333-45d2-f497-08d8d66a0d39"},"quality":1}"
ValueKind = Object : "{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-
08d8db1aac26","code":"666666","name":"test6","price":6,"category":"test6","orrderItems":"320d57eb-
3333-45d2-f497-08d8d66a0d39"},"quality":1}"
ValueKind = Object : "{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-
08d8db1aac26","code":"666666","name":"test6","price":6,"category":"test6","orrderItems":"320d57eb-
3333-45d2-f497-08d8d66a0d39"},"quality":1}"
我创建了一个类。
public class OrderR
{
public Guid ID { get; set; }
public Guid orrderItems { get; set; }
public string CODE { get; set; }
public string NAME { get; set; }
public int PRICE { get; set; }
public string CATEGORY { get; set; }
}
我正在尝试获取一个数组。
[HttpPost]
public async Task<IActionResult> AddOrder(OrderR[] orderR)
但是得到null。我究竟做错了什么?它是如何正确的?
解决方案
创建新类:
public class Order
{
public OrderR Product { get; set; }
public int Quality { get; set; }
}
并将您的操作更改为:
[HttpPost]
public async Task<IActionResult> AddOrder(Order[] orders)
{
.... your code
}
使用以下数据在 Postman 中对其进行了测试:
[
{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-08d8db1aac26","code":"666666","name":"test1","price":6,"category":"test6","orrderItems":"320d57eb-3333-45d2-f497-08d8d66a0d39"},"quality":1},
{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-08d8db1aac26","code":"666666","name":"test2","price":6,"category":"test6","orrderItems":"320d57eb-3333-45d2-f497-08d8d66a0d39"},"quality":1},
{"product":{"id":"72ae28f2-4ad3-4e97-5a7b-08d8db1aac26","code":"666666","name":"test3","price":6,"category":"test6","orrderItems":"320d57eb-3333-45d2-f497-08d8d66a0d39"},"quality":1}
]
一切正常。如果您也想在 Postman 中对其进行测试,请将 [FromBody] 添加到操作输入参数中:
[HttpPost]
public async Task<IActionResult> AddOrder([FromBody] Order[] orders)
{
return Ok(orders);
}
推荐阅读
- javascript - 选中多个复选框时,表单字段应与公共字段相应显示
- html - 在孩子占据的空间中隐藏父母背景
- visual-studio - 如何在 VS2019 Enterprise 中分配 RunSettings?
- db2 - AS400 - 解析 JSON 并将字段存储到 DB2 表中
- linux - 模块无法启动 Ansible
- ms-office - 如何访问 Microsoft PowerApp
- aws-lambda - 如何在两个 CloudFront 分配之间设置 CORS?
- r - 数据整理:将长格式的序列转换为宽格式的特定子序列
- javascript - 创建一个一维数组,该数组按顺序包含用于访问给定变量中的数字的数组索引
- dart - 是否可以在 Dart2 中指定带有可选参数的函数作为函数参数?