首页 > 解决方案 > Alamofire:使用相同的密钥发送多个 URL 编码参数

问题描述

我想给 Alamofire 请求以下内容

var postParameters=[
    "x" : "value1",
    "y" : "value2",
    "y" : "value3"
]

我该如何实现这一目标?

我不能把它当作任何收藏品。我只需要将其作为单独的参数提供。

任何提示都会对我有所帮助。提前致谢。

在此处输入图像描述

标签: iosswiftdictionaryalamofireurlencode

解决方案


虽然无法创建具有重复键的字典,但有一种方法可以使用数组将这些类型的参数传递给您的服务器:

let postParameters: [String: Any] = [
    "x" : "value1",
    "y" : ["value2", "value3"]
]

然后当你调用requestAlamofire 的函数时,你传递一个URLEncodingasencoding参数的新实例并指定你想要对数组进行编码的方式,如下所示:

AF.request(
    "url",
    method: .post,
    parameters: postParameters,
    encoding: URLEncoding(arrayEncoding: .noBrackets)
)

推荐阅读