阿拉莫火召唤中的额外参数'method'



我已经搜索了此问题,有很多可用的答案,但没有解决问题。我将参数定义为:

let parameters = [
                "name": username,
                "mobile": "",
                "email": email,
                "password": "",
                "blood_donor": "0",
                "registration_id": defaults.string(forKey: "FCMToken"),
                "platform": platform,
                "appID": "3"
            ]

之后,当我发送请求时:

Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding(), headers: headers).responseJSON { response in

所以我在parameters

上发出警告

表达式从"字符串?"隐式强制胁迫到任何

,如果我将!放在参数旁边,我会开始遇到此错误:

呼叫中的额外参数'方法'

我写的所有功能是: func sendLoginCall(username: String, email: String, platform: String)。我尝试将URLEncoding()替换为JSONEncoding.default它不起作用。

我称这是这样的方法:

if let userName = data["name"], let email = data["email"] {
                            self.sendLoginCall(username: userName as! String, email: email as! String, platform: "fb")
                        }

parameters类型更改为[String : Any]如下:

let parameters = [
                "name": username,
                "mobile": "",
                "email": email,
                "password": "",
                "blood_donor": "0",
                "registration_id": defaults.string(forKey: "FCMToken"),
                "platform": platform,
                "appID": "3"
            ] as [String : Any]

不需要:从参数中删除 encoding: URLEncoding(),它可能无需编码即可起作用。

以下是Alamofire开发人员关于同一问题和解决的讨论:https://github.com/alamofire/alamofire/sissues?utf8=✓c�&q = extra argument>

相关内容

最新更新