Ios 阿拉莫菲尔4.4.0:额外参数';方法';呼叫中:不知道什么是抛出错误
我在swift中有一个alamofire请求,不确定它为什么在调用中抛出额外的参数“方法”: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",
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
}