Ios 阿拉莫菲尔4.4.0:额外参数';方法';呼叫中:不知道什么是抛出错误

Ios 阿拉莫菲尔4.4.0:额外参数';方法';呼叫中:不知道什么是抛出错误,ios,swift,api,alamofire,Ios,Swift,Api,Alamofire,我在swift中有一个alamofire请求,不确定它为什么在调用中抛出额外的参数“方法”: Alamofire.request( URL(string: "https://api.io"), method: .post, parameters: [ "grant_type": "client_credentials",

我在swift中有一个alamofire请求,不确定它为什么在调用中抛出额外的参数“方法”:

Alamofire.request(
                URL(string: "https://api.io"),
                method: .post,
                parameters: [
                    "grant_type": "client_credentials",
                    "client_id": "user00941",
                    "client_secret": "ILGddu8y8g7qW"
                ],
                encoding: .urlEncodedInURL
                ).response {

                    request, response, data, error in

                    let json = JSON(data: data!)

                    print("OAuth 2 token obtained from API: \(json["access_token"])")

                    let token = "Bearer \(json["access_token"].stringValue)"

            }
我一直在看各种其他帖子,但似乎找不到适合我的代码的解决方案。

问题是你使用了
url
,尽管

public func request(
    _ url: URLConvertible,
    method: HTTPMethod = .get,
    parameters: Parameters? = nil,
    encoding: ParameterEncoding = URLEncoding.default,
    headers: HTTPHeaders? = nil)
    -> DataRequest
从函数调用中删除
url:
将解决该错误,但Swift应提醒您“可选类型“url”的值未展开。”虽然您可以使用来提取url的值,但我建议改用:

或者,您可以使用
guard
语句通过代码保存一个:

guard let url = URL(string: "https://api.io") else {
    return
}

这段代码有几个错误。编码参数需要设置为
JSONEncoding.default
not
.urlEncodedInURL


除此之外,中的
请求、响应、数据、错误需要更改为
中的
响应。要获取数据和错误,请使用
response.data
response.error

否。。。相同:CallI中的额外参数方法解决了这个问题,你可以看到我的答案。根本不必为
URL
操心。
请求
接受URL的
字符串
表示,因此只需使用它即可。
guard let url = URL(string: "https://api.io") else {
    return
}