alamofire未正确连接到api

时间:2019-05-09 07:50:10

标签: swift alamofire

我正在尝试从openweathermap api中获取包含json的响应, 但是从调试器看来,当他到达alamofire的代码块时,它只是跳过了

这是我用于此任务的代码块

func printJson(){

    Alamofire.request("https://api.openweathermap.org/data/2.5/find?appid=6ad1f143546b8c6d761ecbda6a34a005&q=yavne", method: .get).responseJSON { response in
        if response.data != nil {
            var json : JSON
            do{
                json = try JSON(data: response.data!)
                print(json)
        }catch{}
        }

    }

}

1 个答案:

答案 0 :(得分:-1)

使用此帮助程序类进行API调用。

class NetworkHandler {

    static let shared = NetworkHandler()

    func sendRequest(withUrl url:String,andBody body:[String:Any]? = [:],
                         completionHandler: @escaping ((_ status: Bool,_ response:Any) -> Void)) {
        DispatchQueue.global(qos: .userInitiated).async {

            Alamofire.request(url, method: .post, parameters: body,encoding: JSONEncoding.default, headers: nil).responseJSON {
                response in

                guard response.response?.statusCode == 200 else{
                    completionHandler(false,"Service Temporarily Unavailable.\nPlease check your internet connection or  contact your Service provider.")
                    return
                }
                switch response.result {
                case .success:
                    completionHandler(true,response.value!)
                    break
                case .failure(let error):
                    completionHandler(false,error.localizedDescription)
                }
            }
        }
    }
}