呼叫错误中的Alamofire v4额外参数方法

时间:2016-10-03 14:29:38

标签: ios swift xcode alamofire

一旦我更新到alamofire版本4,我就会收到错误:呼叫中的额外参数方法

Alamofire.request("www.blabla", method: .put, parameters: parameters, headers: headers, encoding: .JSON)

我已将其更改为使用“方法:.put”,但我仍然收到错误

4 个答案:

答案 0 :(得分:2)

我有这个问题升级到Alamofire 4并通过移动headers参数并使其成为调用中的最后一个参数来解决它。 encoding: .JSON也应为encoding: JSONEncoding.default

通话应如下所示:

Alamofire.request(url: myUrl, method: .put, parameters: myParams,
     encoding: JSONEncoding.default, headers: myHeaders)

答案 1 :(得分:2)

parameters是什么类型的?它必须至少为[:] - 如:

Alamofire.request(url: myUrl, method: .put, parameters: [:], encoding: JSONEnconding.default, headers: myHeaders)

答案 2 :(得分:1)

我把心思打破了URLRequest然后只是Alamofire的电话。除了打破之外我没有找到任何工作。我使用的是Swift 3和XCode 8.2.1,我相信这是一个快速的sourceKit错误的对象。

    Alamofire.request(url:treeURL!, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: ["Authorization" : app.getToken()])

成了这个:

    var request = URLRequest(url: treeURL!)
    request.httpMethod = "GET"
    request.allHTTPHeaderFields = ["Authorization" : app.getToken()]
    Alamofire.request(request as URLRequestConvertible)

答案 3 :(得分:0)

Alamofire.request( "http://....", method: .put , parameters: parameters, encoding:  JSONEncoding.default).responseJSON{
            response in
            if response.result.isSuccess {
                //some code
            }
        }