Alamofire:这个语法有什么问题? "Extra argument in call"
Alamofire: What is wrong with this syntax? "Extra argument in call"
我在 Swift 中使用 Alamofire 进行联网。
我需要 post 数据作为 httpbody 到 url。
这是我的代码:
let parameters = ["username": "Admin", "password": "somepassword", "client_id": "Example", "grant_type": "password", "refresh_token": "string"];
Alamofire.request(.POST, "https://XXXXXXXXXXXX", parameters: parameters, encoding: .JSON(options: nil)).responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
这没有编译,相反我得到 "extra argument in call"
怎么了?
感谢您的帮助。
如果您使用的是版本 4+ 的 Alamofire,则创建请求的语法不同(请参阅 migration guide):
Alamofire.request("https://XXXXXXXXXXXX",
method: .post,
parameters: parameters,
encoding: JSONEncoding.default) .responseJSON { response in
// TODO: rest
}
我在 Swift 中使用 Alamofire 进行联网。
我需要 post 数据作为 httpbody 到 url。
这是我的代码:
let parameters = ["username": "Admin", "password": "somepassword", "client_id": "Example", "grant_type": "password", "refresh_token": "string"];
Alamofire.request(.POST, "https://XXXXXXXXXXXX", parameters: parameters, encoding: .JSON(options: nil)).responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
这没有编译,相反我得到 "extra argument in call"
怎么了?
感谢您的帮助。
如果您使用的是版本 4+ 的 Alamofire,则创建请求的语法不同(请参阅 migration guide):
Alamofire.request("https://XXXXXXXXXXXX",
method: .post,
parameters: parameters,
encoding: JSONEncoding.default) .responseJSON { response in
// TODO: rest
}