使用Alamofire获取空响应

问题描述 投票:1回答:2
{
  "vUserList": [
    {
      "firstName": "Kate",
      "lastName": "Bell",
      "email": "[email protected]"
    },
    {
      "lastName": "Higgins",
      "firstName": "Daniel",
      "email": "[email protected]"
    },
    {
      "email": "[email protected]",
      "firstName": "John",
      "lastName": "Appleseed"
    },
    {
      "lastName": "Haro",
      "firstName": "Anna",
      "email": "[email protected]"
    },
    {
      "email": "[email protected]",
      "firstName": "Hank",
      "lastName": "Zakroff"
    }
  ]
}

这是我需要发送到服务器的请求参数。

func getContactsParameters() -> [String : Any] {
        return [Keys.vUserList : arrContacts]
    }

var headers = [
                Keys.XAPIKEY: "5dik8fo5yecc25bfcc562724dd674bde5fh5ju8y"
            ]

Alamofire.request("urlString", method: .post, parameters: getContactsParameters(), encoding: JSONEncoding.default, headers: headers).responseJSON { response in
                print(response)
}

getContactsParameters()控制台日志如下,enter image description here作为回应,我的成功代码为Null。

我与后端人员进行了交谈,他们说,如果我没有收到此密钥“ vUserList”,则您可能会得到空响应。但是,我仔细检查了拼写和所有内容。另一个情况是,他们说如果我们没有在正确的json中获得请求,那么您可能会得到null响应。

我尝试了许多不同的解决方案,但都没有用。 :(

感谢您的帮助!

我在这里附上,邮递员截图。在邮递员中,它工作正常。enter image description here

ios json swift alamofire
2个回答
0
投票

检查邮递员后

请在您的请求中添加标题

let headers = [
    "Content-Type": "application/x-www-form-urlencoded"
]

如果不起作用则>>

URLEncoding()处的[URLEncoding.httpBodyURLEncoding.defaultJSONEncoding.default


0
投票

尝试将联系人数组的JSON字符串对象传递到API参数中。

© www.soinside.com 2019 - 2024. All rights reserved.