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
        }
  ]