繁体   English   中英

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进行解析,并且不确定如何/在何处接收响应。

这是我当前的代码:

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令牌才能获得有效的响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM