Web Hizmetlerine Erişim

Uygulamamızda, API'ye bağlanmamız ve bu API'den veri alıp uygulamamızda kullanmamız gerekebilir.

Öncelikle, bize verileri sağlayacak olan URL'ye ihtiyacımız var.

api.openweathermap.org/data/2.5/forecast?id=524901&APPID=1111111111

Bundan sonra, hizmet https değilse, uygulamamızın web hizmetiyle iletişim kurmasına izin vermek için taşıma katmanı güvenlik istisnası eklememiz gerekir. Bu değişiklikleri şurada yapacağız:info.plist dosya.

Son olarak, bir ağ isteği oluşturmak için bir URLSession oluşturacağız.

let urlString = URL(string: "your URL")  // Making the URL  
if let url = urlString {   
   let task = URLSession.shared.dataTask(with: url) { 
      (data, response, error) in // Creating the URL Session. 
      if error != nil {  
         // Checking if error exist. 
         print(error) 
      } else { 
         if let usableData = data { 
            // Checking if data exist. 
            print(usableData)   
            // printing Data. 
         } 
      } 
   }
}	
task.resume()

URL oturumlarını kullanarak uygulamanızda Web hizmetlerini bu şekilde kullanabilirsiniz.

Alamofire

Alamofire, hızlı bir şekilde yazılmış bir HTTP ağ kitaplığıdır. URL Talepleri, Veri Gönderme, Veri Alma, Dosya Yükleme, Veri, Kimlik Doğrulama, Doğrulama, vb. İçin kullanılabilir.

Aalmofire'ı kurmak için resmi olarak GitHub'da Alamofire'a gidebilir ve kurulum kılavuzlarını okuyabilirsiniz.

Alamofire'da Talep Yapma

Alamofire'da bir istekte bulunmak için aşağıdaki komutu kullanmalıyız.

Import Alamofire 
Alamofire.request("url");

Yanıt İşleme

Aşağıdaki komut, yanıt işleme için kullanılır.

Alamofire.request("url").responseJSON {  
   response in      
   print(response.request)   
   // original URL request     
   print(response.response)  
   // HTTP URL response      
   print(response.data)      
   // server data      
   print(response.result)    
   // result of response serialization       
   if let JSON = response.result.value {          
      print("JSON: \(JSON)")   
   } 
}

Yanıt Doğrulama

Aşağıdaki komut, yanıt işleme için kullanılır.

Alamofire.request("https://httpbin.org/get").validate().responseJSON {  
   response in      
   switch response.result {      
      case .success:         
      print("Validation Successful")      
      case .failure(let error):      
      print(error)      
   } 
}

Bunlar, URL Oturumları ve Alamofire kullanarak URL talebinde bulunmanın temelleridir. Daha gelişmiş Alamofire için lütfen Alamofire Dokümantasyonunu ziyaret edin ve ayrıntılı olarak okuyabilirsiniz.