asp.net Web 不接受对象列表,但在包装到其他对象时接受相同的列表 class?
asp.net web not accepting List of objects but accepts same list when wrapped into other class?
我有一个 api 方法,我将“/api/stocks/1/images/”和 stockimage 列表作为 json 传递。我将下面的 stockImages 设为 null(函数的输入参数)
[Route("api/stocks/{stockId}/images")]
public IHttpActionResult Post(int stockId, [FromBody]List<StockImage> stockImages)
{
return Ok();
}
当我将 /api/stocks/1/images/
和 stockimage 列表作为 json
传递并将其包装在 class 中并且不直接接受列表时,我能够看到预填充的 stockImages(函数的输入参数)
我有一个api方法
[Route("api/stocks/{stockId}/images")]
public IHttpActionResult Post(int stockId, [FromBody]Temp stockImages)
{
return Ok();
}
public class Temp
{
public List<StockImage> stockImages {get; set;}
}
我需要这个 Temp 包装器 class 还是有什么方法可以避免这种情况?
添加样本json:
{
"stockImages":[
{
"imgId" : 8908,
"imgURL": "http://imgd5.aeplcdn.com/cw/Volkswagen-Polo-Comfortline-4319619.jpg",
"altText":"Honda City Exterior Photos",
"title":"Honda City Exterior Photos",
"defaultImg":true
}
]
}
所以问题是您将数组包装在一个对象中。删除它,你就可以开始了
[
{
"imgId" : 8908,
"imgURL": "http://imgd5.aeplcdn.com/cw/Volkswagen-Polo-Comfortline-4319619.jpg",
"altText":"Honda City Exterior Photos",
"title":"Honda City Exterior Photos",
"defaultImg":true
}
]
我有一个 api 方法,我将“/api/stocks/1/images/”和 stockimage 列表作为 json 传递。我将下面的 stockImages 设为 null(函数的输入参数)
[Route("api/stocks/{stockId}/images")]
public IHttpActionResult Post(int stockId, [FromBody]List<StockImage> stockImages)
{
return Ok();
}
当我将 /api/stocks/1/images/
和 stockimage 列表作为 json
传递并将其包装在 class 中并且不直接接受列表时,我能够看到预填充的 stockImages(函数的输入参数)
我有一个api方法
[Route("api/stocks/{stockId}/images")]
public IHttpActionResult Post(int stockId, [FromBody]Temp stockImages)
{
return Ok();
}
public class Temp
{
public List<StockImage> stockImages {get; set;}
}
我需要这个 Temp 包装器 class 还是有什么方法可以避免这种情况?
添加样本json:
{
"stockImages":[
{
"imgId" : 8908,
"imgURL": "http://imgd5.aeplcdn.com/cw/Volkswagen-Polo-Comfortline-4319619.jpg",
"altText":"Honda City Exterior Photos",
"title":"Honda City Exterior Photos",
"defaultImg":true
}
]
}
所以问题是您将数组包装在一个对象中。删除它,你就可以开始了
[
{
"imgId" : 8908,
"imgURL": "http://imgd5.aeplcdn.com/cw/Volkswagen-Polo-Comfortline-4319619.jpg",
"altText":"Honda City Exterior Photos",
"title":"Honda City Exterior Photos",
"defaultImg":true
}
]