【问题标题】:Swift 2 - POST requests don't get parameters addedSwift 2 - POST 请求没有添加参数
【发布时间】:2015-08-28 21:41:48
【问题描述】:

跟进有人在 Alamofire github 问题上提出的问题,该问题从未得到回答,因为我也想要答案。

用 GET 做一个简单的请求很好地添加了我的参数,但是做一个 POST 没有。

let parameters = ["foo": "bar"]

Alamofire.request(.POST, "url", parameters: parameters)
.responseJSON { request, response, json, error in
  print("request: \(request)")
}

返回

request: Optional(<NSMutableURLRequest: 0x7f9864109cb0> { URL: https://api.github.com/repos/BasThomas/junk/issues })
 while

let parameters = ["foo": "bar"]

Alamofire.request(.GET, "url", parameters: parameters)
.responseJSON { request, response, json, error in
  print("request: \(request)")
}

返回

request: Optional(<NSMutableURLRequest: 0x7f9ef07ef0f0> { URL: https://api.github.com/repos/BasThomas/junk/issues?foo=bar })

【问题讨论】:

    标签: json post swift2 alamofire


    【解决方案1】:

    POST 的参数被添加到请求正文,而不是 URL。这是由于 GET 和 POST 之间的通用约定。

    自定义参数编码

    如果您需要将它们附加到 URL(听起来像您这样做),那么我建议您查看 .Custom ParameterEncoding 类型。这将允许您遵循与 encode 方法相同的逻辑,但可以随意附加参数。

    此外,ParameterEncoding 枚举中的方法现已全部公开,因此您可以访问查询参数拆分和转义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-25
      • 2017-06-27
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2015-11-23
      相关资源
      最近更新 更多