Accéder aux services Web

Dans notre application, nous pourrions avoir besoin de nous connecter à l'API et de récupérer les données de cette API et de les utiliser dans notre application.

Tout d'abord, nous avons besoin de l'URL, qui nous fournira les données.

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

Après cela, nous devons ajouter une exception de sécurité de la couche de transport pour permettre à notre application de communiquer avec le service Web, si le service n'est pas https. Nous apporterons ces changements dans leinfo.plist fichier.

Enfin, nous allons créer une URLSession pour créer une requête réseau.

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

C'est ainsi que vous pouvez utiliser les services Web dans votre application à l'aide de sessions URL.

Alamofire

Alamofire est une bibliothèque de mise en réseau HTTP écrite en swift. Il peut être utilisé pour effectuer des demandes d'URL, publier des données, recevoir des données, télécharger un fichier, des données, une authentification, une validation, etc.

Pour installer Aalmofire, vous pouvez vous rendre officiellement sur Alamofire sur GitHub , et lire leur guide d'installation

Faire une demande à Alamofire

Pour faire une requête dans Alamofire, nous devons utiliser la commande suivante.

Import Alamofire 
Alamofire.request("url");

Traitement des réponses

La commande suivante est utilisée pour la gestion des réponses.

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

Validation de la réponse

La commande suivante est utilisée pour la gestion des réponses.

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

Ce sont les bases de la demande d'URL, en utilisant les sessions d'URL et Alamofire. Pour un Alamofire plus avancé, veuillez visiter la documentation Alamofire , et vous pouvez en savoir plus à ce sujet.