2016-10-03 75 views
0

一旦我更新到alamofire 4版我得到的错误:呼叫额外的参数方法Alamofire V4额外的参数方法

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

我已经改变了它使用“的方法:。把”像以上但我仍然得到错误

回答

2

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

电话应该是这样的:

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

我试图切换到:Alamofire.request(URL: “www.blabla”,方法:.POST,参数:参数,编码:.JSON,headers:headers)但我仍然得到错误:/ – user2636197

+0

对于编码,用'JSONEncoding.default'替换'.JSON'。原始答案已更新。 – DerFlickschter

+0

但我仍然得到:使用未解析的标识符JSONEnconding当我使用 Alamofire.request(“www.myUrl”,方法:.post,参数:参数,编码:JSONEnconding.default,标头:标头) .responseJSON() – user2636197

2

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

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

+0

像这样:让参数:[字符串:AnyObject] – user2636197

+0

是的。这是诀窍吗? – midori

+0

但我仍然得到:使用未解析标识符JSONEnconding当我使用 Alamofire.request(“www.myUrl”,方法:.post,参数:参数,编码:JSONEnconding.default,标头:标头) .responseJSON() – user2636197

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

这没有帮助。 – midori

+0

@midori它适合我。 –

0

我打破了主意到的URLRequest,然后就在Alamofire电话。除了分手之外,我没有发现任何工作。我使用Swift 3和XCode 8.2.1,我相信这是swift的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)