如何使用Alamofire将单个对象作为参数发送

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Alamofire将单个对象作为参数发送相关的知识,希望对你有一定的参考价值。

我遇到了一个我没想到可能发生的问题。我需要发布第三方API的发布请求,只允许这样做

let parameters: Parameters = [{
        "id": "1",
        "original-address": "Some city, Some street"}]

你可以看到它不是字典,所以编译器说Cannot convert value of type '[() -> String]' to specified type 'Parameters' (aka 'Dictionary<String, Any>')

我无法删除括号,因为我的第三方API不会响应此请求。

我如何向Alamofire发送此类请求?

我已经尝试了我们心爱的Stackoverflow的一些建议,但仍然没有运气。

答案

Parameterstypealias[String:Any],你指定

[{
    "id": "1",
    "original-address": "Some city, Some street"}]

这看起来像字典的json数组(甚至不是快速的Dics数组),所以你不能将它传递给Alamofire,以完成你需要在请求体中发送它,因为Data期待Sending json array via Alamofire

以上是关于如何使用Alamofire将单个对象作为参数发送的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 将对象作为参数发送

使用 Alamofire 将 JSON 对象作为 post 参数发送

如何发送嵌套对象作为参数?

如何在 Swift 中使用 Alamofire 将参数作为正文发送到 PUT 方法

使用 alamofire 将带有 JSON 对象和查询参数的 POST 请求发送到 REST Web 服务

使用 swift 在 Alamofire 中发送带有对象数组的 JSON 作为参数