Alamofire:使用相同的密钥发送多个 URL 编码参数

Alamofire: Send multiple URL encoded parameters with same key

我想向 Alamofire 提出以下要求

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

我该如何实现?

我不能给它任何 collection。我只需要将它作为单独的参数提供。

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

无法像 iOS 那样创建字典,相反,您可以进行多次 API 调用。

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

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

然后当你调用 Alamofire 的 request 函数时,你将 URLEncoding 的一个新实例作为 encoding 参数传递并指定你想要编码数组的方式,如下所示:

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