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

Emp*_*ess 2 ios swift alamofire

我正在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
}
Run Code Online (Sandbox Code Playgroud)

我为路径配置了一个路由器,但由于我希望我的AuthHandler对所有与身份验证相关的内容负责,因此我想注入sessionToken。这可以确保与RequestRetrier所有与HTTP 401相关的错误都得到处理。

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

Sri*_*Sri 5

你能试一下吗

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

(要么)

return URLEncoding.queryString.encode(urlRequest, with: params)
Run Code Online (Sandbox Code Playgroud)

谢谢斯里拉姆