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.