调用中的额外参数“方法”。阿拉莫菲尔

Posted

技术标签:

【中文标题】调用中的额外参数“方法”。阿拉莫菲尔【英文标题】:Extra argument "method" in call. Alamofire 【发布时间】:2017-04-06 05:12:33 【问题描述】:

我正在使用 Alamofire 向 Yelp api 发出 get 请求,我的 post 请求正在运行,但我的 get 请求无法正常工作,我已经尝试了从其他问题中读取的所有内容,但仍然没有解决方案。这是我的代码。

这是我正在工作的发帖请求。

class func getAccessToken() 
     let parameters: Parameters = ["client_id": client_id, "client_secret": client_secret]
     Alamofire.request("https://api.yelp.com/oauth2/token", method: .post, parameters: parameters, encoding: URLEncoding.default, headers: nil).response 
         response in
         print("Request: \((response.request)!)")
         print("Response: \((response.response)!)")

         if let data = response.data 
         let dict = try! JSONSerialization.jsonObject(with: data, options: []) as! NSDictionary
         print("Access Token: \((dict["access_token"])!)")
         self.accessToken = (dict["access_token"])! as? String
         self.tokenType = (dict["token_type"])! as? String
         
    

这是我遇到问题的获取请求。

class func getRestaurents(searchTerm: String) 
        let parameters: Parameters = ["term": searchTerm, "location": "******"]
        let headers: HTTPHeaders = [tokenType!: accessToken!]
        Alamofire.request("https://api.yelp.com/v3/businesses/search", method: .get, parameters: Parameters, encoding: JSONEncoding.default, headers: headers).response 
            response in
            if let data = response.data 
                let dict = try! JSONSerialization.jsonObject(with: data, options: [] as! [NSDictionary])
                print(dict)
            
        
    

谢谢。

【问题讨论】:

应该是parameters 而不是Parameters 【参考方案1】:

您正在传递类 Parameters 而不是它的对象 parameters

Alamofire.request("https://api.yelp.com/v3/businesses/search", method: .get, parameters: Parameters, encoding: JSONEncoding.default, headers: headers).response 

应该是:

Alamofire.request("https://api.yelp.com/v3/businesses/search", method: .get, parameters: parameters, encoding: JSONEncoding.default, headers: headers).response 

【讨论】:

以上是关于调用中的额外参数“方法”。阿拉莫菲尔的主要内容,如果未能解决你的问题,请参考以下文章

无法调用非函数类型“HTTPURLResponse?”的值阿拉莫菲尔 4,斯威夫特 3

Alamofire发布请求错误调用中的额外参数“方法”

Alamofire中的“调用中的额外参数方法”

调用 Alamofire swift 4 中的额外参数“方法”

如何将字符串转换为 utf-8? (斯威夫特,阿拉莫菲尔)

包装在静态函数中时,Alamofire 4.0“调用中的额外参数'方法'”