【问题标题】:How to send custom parameters for a GET method in Alamofire?如何在 Alamofire 中为 GET 方法发送自定义参数?
【发布时间】:2017-09-08 09:38:54
【问题描述】:

我有这个array = [1,2,3],我想这样发送:

http://somedomain.com/today?intersets=1,2,3

我正在尝试这样发送:

let params: Parameters = [ "intersets": array]

Alamofire.request(url, method: .get, parameters: params ,headers: header)

但是在打印response.request 之后,我得到了这个:

http://somedomain.com/today?intersets%5B%5D=1&intersets%5B%5D=2intersets%5B%5D=3

关于如何解决此请求的任何想法?

【问题讨论】:

  • 请注意,if 您的服务器实际上需要一个数组并再次解析逗号,然后使用您当前的方法实际上更正确,因为这就是您通过 GET 传输数组的方式。
  • @luk2302 谢谢老兄,当然,你提到这是 GET 中的方式,那么它在 POST 中会改变吗?
  • 在 POST 正文中,您主要发送对数组具有原生支持的 json,因此不需要任何字符串操作。我之前的意思是“在 URL 参数中”,这是在 GET 中放置参数的唯一位置。

标签: swift3 alamofire


【解决方案1】:

您应该将数组加入String 并将其作为参数发送。

let string = array.joined(separator: ",")
let params: Parameters = [ "intersets": string]

【讨论】:

  • 我收到了这个blahblahblah/today?intersets=1%2C2%2C3,如何从, 中删除%2C 并将其替换为,
  • 您不能直接发送,作为参数,如在URL中,您应该编码特殊字符。 %2C, 的编码形式。
猜你喜欢
  • 2020-04-16
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 2020-08-24
  • 2022-01-10
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多