Acceso a servicios web

En nuestra aplicación, es posible que necesitemos conectarnos a la API y recuperar datos de esa API y usarlos en nuestra aplicación.

En primer lugar, necesitamos la URL, que nos proporcionará los datos.

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

Después de eso, necesitamos agregar una excepción de seguridad de la capa de transporte para permitir que nuestra aplicación se comunique con el servicio web, si el servicio no es https. Haremos estos cambios en elinfo.plist archivo.

Finalmente, crearemos una URLSession para crear una solicitud de red.

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

Así es como puede utilizar los servicios web en su aplicación mediante sesiones de URL.

Alamofire

Alamofire es una biblioteca de redes HTTP escrita en Swift. Se puede utilizar para realizar solicitudes de URL, publicar datos, recibir datos, cargar archivos, datos, autenticación, validación, etc.

Para instalar Aalmofire, puede ir a Alamofire oficialmente en GitHub y leer su guía de instalación.

Hacer una solicitud en Alamofire

Para realizar una solicitud en Alamofire, debemos usar el siguiente comando.

Import Alamofire 
Alamofire.request("url");

Manejo de respuestas

El siguiente comando se utiliza para el manejo de respuestas.

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

Validación de respuesta

El siguiente comando se utiliza para el manejo de respuestas.

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

Estos son los conceptos básicos para realizar solicitudes de URL mediante sesiones de URL y Alamofire. Para obtener información sobre Alamofire más avanzada, visite la documentación de Alamofire y podrá leer sobre ella en detalle.