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
}