Zugriff auf Webdienste

In unserer Anwendung müssen wir möglicherweise eine Verbindung zur API herstellen und Daten von dieser API abrufen und in unserer Anwendung verwenden.

Erstens benötigen wir die URL, die uns die Daten liefert.

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

Danach müssen wir eine Sicherheitsausnahme für die Transportschicht hinzufügen, damit unsere Anwendung mit dem Webdienst kommunizieren kann, wenn der Dienst nicht https ist. Wir werden diese Änderungen in derinfo.plist Datei.

Schließlich erstellen wir eine URLSession, um eine Netzwerkanforderung zu erstellen.

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

Auf diese Weise können Sie Webdienste in Ihrer Anwendung mithilfe von URL-Sitzungen verwenden.

Alamofire

Alamofire ist eine schnell geschriebene HTTP-Netzwerkbibliothek. Es kann verwendet werden, um URL-Anfragen zu stellen, Daten zu veröffentlichen, Daten zu empfangen, Dateien hochzuladen, Daten, Authentifizierung, Validierung usw.

Um Aalmofire zu installieren, können Sie offiziell auf GitHub zu Alamofire gehen und deren Installationsanleitung lesen

Eine Anfrage in Alamofire stellen

Um eine Anfrage in Alamofire zu stellen, sollten wir den folgenden Befehl verwenden.

Import Alamofire 
Alamofire.request("url");

Antwortbehandlung

Der folgende Befehl wird für die Antwortbehandlung verwendet.

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

Antwortvalidierung

Der folgende Befehl wird für die Antwortbehandlung verwendet.

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

Dies sind die Grundlagen für die Erstellung von URL-Anfragen mithilfe von URL-Sitzungen und Alamofire. Weitere Informationen zu Alamofire finden Sie in der Alamofire-Dokumentation . Sie können diese ausführlich lesen.