2017-04-06 51 views
2

我正在使用Alamofire來獲取Yelp api的請求,但我得到了我的請求,但我的請求不能正常工作,所以我嘗試了所有從其他問題中讀取的內容,但仍然沒有解決方案。這裏是我的代碼。調用中額外的參數「方法」。 Alamofire

這是我的請求正在工作。

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 
     } 
    } 
} 

這就是我遇到的麻煩我的GET請求。

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) 
      } 
     } 
    } 

謝謝。

+0

這應該是'parameters'不'Parameters' –

回答

2

您正在通過類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 { 
+0

想聽聽向下選民的意見! –

相關問題