通话中的 Alamofire 额外参数“方法”
Posted
技术标签:
【中文标题】通话中的 Alamofire 额外参数“方法”【英文标题】:Alamofire extra argument 'method' in call 【发布时间】:2016-10-21 16:45:52 【问题描述】:我使用Alamofire
4.0.1 并且有这个代码:
let params = Mapper().toJSON(group)
Alamofire.request("\(Config().apiAdminTableGroup)\(group.id)/", method: .put, parameters: params, headers: Config().apiHeaders, encoding: JSONEncoding.default)
.responseJSON response in
...
但是得到这个错误:
调用中的额外参数“方法”
这是文档,这是错误还是?
【问题讨论】:
【参考方案1】:检查您的parameters
和headers
的结构是否正确,如果没有出现您提到的错误。它应该是这样的:
Alamofire.request("\(Config().apiAdminTableGroup)\(group.id)/", method: .put, parameters: ["param1":"1", "param2":"2"], encoding: JSONEncoding.default, headers: ["Authorization": "Basic xxx"])
【讨论】:
我用过'Alamofire.request("", method: .POST, parameters: self.postData, encoding:.JSONEncoding.default).responseJSON response in self.responseData = response.result. value ' 我仍然得到同样该死的错误 如果加上header
参数呢?像这样:Alamofire.request("", method: .POST, parameters: self.postData, encoding:.JSONEncoding.default, headers: [:]).responseJSON response in self.responseData = response.result.value
@Siddharth
同样的事情.. 没有变化。顺便说一句,它是“参数”还是“参数”?
它的“参数”。您是否检查了我在答案中提到的参数字典的结构?@Siddharth
如果我使用parameters
,我会使用未声明的类型'parameters. If I use
Parameters` 我没有得到那个错误。例如var getData : parameters
给出一个错误。【参考方案2】:
试试这个:
Alamofire.request(.PUT, "\(Config().apiAdminTableGroup)\(group.id)/",
parameters: params).responseJSON response in
...
【讨论】:
这是 alamofire 3,我用的是 4.0.1。以上是关于通话中的 Alamofire 额外参数“方法”的主要内容,如果未能解决你的问题,请参考以下文章
包装在静态函数中时,Alamofire 4.0“调用中的额外参数'方法'”