通话中的 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】:

检查您的parametersheaders 的结构是否正确,如果没有出现您提到的错误。它应该是这样的:

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 请求收到错误“调用中的额外参数”

Alamofire中的“调用中的额外参数方法”

包装在静态函数中时,Alamofire 4.0“调用中的额外参数'方法'”

Alamofire发布请求错误调用中的额外参数“方法”

调用 Alamofire swift 4 中的额外参数“方法”

Swift 3.0 迁移后的 Alamofire 错误:“调用中的额外参数”(请求方法)