在 Alamofire 的请求适配器中添加 GET 参数
Posted
技术标签:
【中文标题】在 Alamofire 的请求适配器中添加 GET 参数【英文标题】:Add GET parameter in request adapter of Alamofire 【发布时间】:2017-01-08 16:33:39 【问题描述】:我正在尝试在Request Adapter of Alamofire 中添加一个 GET 参数。但是在请求适配器中,我只能添加 HTTPHeader 字段。
目前我的request adapter
看起来像:
// MARK: - RequestAdapter
func adapt(_ urlRequest: URLRequest) throws -> URLRequest
if let url = urlRequest.url, url.lastPathComponent.hasPrefix(baseURLString)
var urlRequest = urlRequest
// Want to inject param here
// e.g. urlRequest.addParam(param: "session", value: sessionToken")
return urlRequest
return urlRequest
我为路径配置了一个路由器,但由于我希望我的 AuthHandler 负责所有与身份验证相关的东西,所以我想注入我的 sessionToken。这确保与RequestRetrier
一起处理任何与 HTTP 401 相关的错误。
更改 urlRequest 的最佳方法是什么?
【问题讨论】:
【参考方案1】:你可以试试
let params: Parameters = ["session": sessionToken]
return URLEncoding.default.encode(urlRequest, with: params)
(或)
return URLEncoding.queryString.encode(urlRequest, with: params)
谢谢 斯里拉姆
【讨论】:
如果我在创建Alamofire请求时已经设置了一些参数,这只是添加还是替换它们? @Augie 它通过编码参数并将它们应用于现有请求来创建 URL 请求。以上是关于在 Alamofire 的请求适配器中添加 GET 参数的主要内容,如果未能解决你的问题,请参考以下文章
无法通过使用 Alamofire 的参数的 GET 请求成功