首页 > 解决方案 > Web api:[FromBody] 总是返回计数为 0 的列表

问题描述

我有一个接收传输对象列表的 api(post 方法)。当我使用 swagger 进行测试时,该列表返回的计数为 0(非空),即使我正在发送一个传输列表。在下面的场景中,我假设计数应该是 1。这是我发送的 Json 的一个小样本。

[{
  "type": "",
  "attributes": {
    "TransportId":"",
    "Status": "string",
    "Action": "test",
    "ActionBy": "string",
    "ActionDate": "",
    "PackingGroupID": "a713eb0a-5682-4cb5"}]

这是api调用:

[HttpPost, Route("bulk")]
[ResponseType(typeof(List<Transport>))]
public async Task<IHttpActionResult> SaveTransports([FromBody] List<Transport> transports, string packingGroupId)
{      
    var resulttransports = await _transportService.SaveTransportsAsync(transports, packingGroupId);
    if (resulttransports != null)
        ConvertTransportDateToTimezone(ref resulttransports);
    return Ok(resulttransports);
}

Bel:ow 是结果的图像

结果图片

标签: c#asp.net-web-apiswagger

解决方案


尝试在最后添加一个}。我总是使用 JsonFormatter 来测试我的 JSON。

https://jsonformatter.curiousconcept.com/#

   [{
  "type": "",
  "attributes": {
    "TransportId":"",
    "Status": "string",
    "Action": "test",
    "ActionBy": "string",
    "ActionDate": "",
    "PackingGroupID": "a713eb0a-5682-4cb5"}}]

推荐阅读