在Alamofire的请求适配器中添加GET参数

时间:2017-01-08 16:33:39

标签: ios swift alamofire

我正在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
}

我为Paths配置了一个路由器,但由于我希望我的AuthHandler对所有与身份验证相关的东西负责,我想注入我的sessionToken。这样可以确保与RequestRetrier一起处理任何与HTTP 401相关的错误。

更改urlRequest的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

你能试试吗

let params: Parameters = ["session": sessionToken]
return URLEncoding.default.encode(urlRequest, with: params)

(或)

return URLEncoding.queryString.encode(urlRequest, with: params)

由于 斯利拉姆