【问题标题】:Alamofire extra argument 'method' in call通话中的 Alamofire 额外参数“方法”
【发布时间】: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
        ...
}

但是得到这个错误:

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

这是文档,这是错误还是?

【问题讨论】:

    标签: ios swift alamofire


    【解决方案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。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2019-02-23
    相关资源
    最近更新 更多