Alamofire 获取请求和 JSON 响应 (Yelp API)
Alamofire Get Request & JSON Response (Yelp API)
我正在尝试使用 Yelp 的业务搜索 API (https://www.yelp.ca/developers/documentation/v3/business_search) 通过 Alamofire 发送一个 http get 请求,但我在写出语法时遇到了问题。我是初学者,也是第一次使用 Alamofire,所以希望能提供一些帮助!我也在尝试设置 "term" 和 "location" 参数。完成后,我希望通过 SwiftyJSON 进行解析,但不确定 how/where 是否会收到响应。
这是我当前的代码:
import UIKit
import Alamofire
import SwiftyJSON
private let reuseIdentifier = "cafeCell"
class CafeListCollectionViewController:
UICollectionViewController,UICollectionViewDelegateFlowLayout {
override func viewDidLoad() {
super.viewDidLoad()
let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]
//Http request
let apiToContact = "https://api.yelp.com/v3/businesses/search"
Alamofire.request(.GET, apiToContact, requestParams).responseJSON { (responseObject) -> Void in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
如果这听起来像是一个简单的问题,我很抱歉。我是编程新手,非常感谢您的帮助。非常感谢!
问题可能是您查看的是 Swift 2 示例,但写的是 Swift 3。这是 Swift 3 版本:
let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]
//Http request
let apiToContact = "https://api.yelp.com/v3/businesses/search"
Alamofire.request(apiToContact, method: .get, parameters: requestParams, encoding: URLEncoding.default, headers: nil).responseJSON { (responseObject) in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
您还需要来自 Yelp 的 API 令牌才能获得有效回复。
我正在尝试使用 Yelp 的业务搜索 API (https://www.yelp.ca/developers/documentation/v3/business_search) 通过 Alamofire 发送一个 http get 请求,但我在写出语法时遇到了问题。我是初学者,也是第一次使用 Alamofire,所以希望能提供一些帮助!我也在尝试设置 "term" 和 "location" 参数。完成后,我希望通过 SwiftyJSON 进行解析,但不确定 how/where 是否会收到响应。
这是我当前的代码:
import UIKit
import Alamofire
import SwiftyJSON
private let reuseIdentifier = "cafeCell"
class CafeListCollectionViewController:
UICollectionViewController,UICollectionViewDelegateFlowLayout {
override func viewDidLoad() {
super.viewDidLoad()
let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]
//Http request
let apiToContact = "https://api.yelp.com/v3/businesses/search"
Alamofire.request(.GET, apiToContact, requestParams).responseJSON { (responseObject) -> Void in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
如果这听起来像是一个简单的问题,我很抱歉。我是编程新手,非常感谢您的帮助。非常感谢!
问题可能是您查看的是 Swift 2 示例,但写的是 Swift 3。这是 Swift 3 版本:
let requestParams: Parameters = ["term": "cafe", "location": "Montreal, QC"]
//Http request
let apiToContact = "https://api.yelp.com/v3/businesses/search"
Alamofire.request(apiToContact, method: .get, parameters: requestParams, encoding: URLEncoding.default, headers: nil).responseJSON { (responseObject) in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
您还需要来自 Yelp 的 API 令牌才能获得有效回复。