URLSession, Decodable, JSONDecoder, Async/Await en Swift
URLSession, Decodable, JSONDecoder, Async/Await en Swift

¿Cómo crear peticiones HTTP en Swift?

¿Cómo crear una petición HTTP? Con este listado de videos que te ayudarán a aprender y crear peticiones HTTP. Desde la petición hasta la transformación del JSON a un modelo de tu dominio conformando el protocolo Decodable

SwiftBeta

Tabla de contenido


👇 SÍGUEME PARA APRENDER SWIFTUI, SWIFT, XCODE, etc 👇
Aprende a crear peticiones HTTP en Swift con URLSession
Aprende a crear peticiones HTTP en Swift con URLSession

Hoy en SwiftBeta te voy a mostrar una serie de videos que te van a ayudar a entender y crear peticiones HTTP en Swift.

1. URLSession en Swift

Crea tu primera petición HTTP

URLSESSION en Swift en Español
URLSession en Swift lo usamos para realizar peticiones HTTP. Podemos usar una URL o URLRequest con distintos métodos: POST, GET, UPDATE, etc. En el post de hoy usamos el método dataTask de URLSession.Hoy en día todo desarrollador debe saber usar esta clase para realizar llamadas.

2. Decodable

Con Decodable en Swift aprenderás a parsear el JSON recibido de backend a objetos de tu dominio. El otro día vimos la clase URLSession que hacía la petición HTTP, el uso de Decodable es el siguiente paso. Cuando obtenemos los datos de la petición y la queremos pasar a alguno de nuestros modelos.

DECODABLE en Swift en Español
Decodable en Swift se usa para parsear el JSON recibido de backend a objetos de tu dominio. Al recibir una petición HTTP con URLSession normalmente usamos JSONDecoder para mapear esta información a una struct de nuestra app.Con Decodable podemos mapear Arrays, usar estrategías, etc

3. JSONDecoder y decodeIfPresent

Cuando obtenemos el JSON de nuestro endpoint tenemos que ir con cuidado al mapear a nuestro modelo de dominio. Puede parecer algo trivial, pero aveces tenemos bugs/crashes en producción y nos cuesta entender el motivo.

JSONDecoder y decodeIfPresent en SWIFT en Español
decodeIfPresent en Swift lo usamos para mapear el JSON recibido y transformarlo a nuestros modelos. Al usar JSONDecoder en Swift puede que tengamos keys en el JSON que no se estén enviando, esto puede hacer crashear nuestra app. Para evitarlo usamos decodeIfPresent dentro del init de JSONDecoder.

4. JSONDecoder y nestedContainer

nestedContainer en Swift nos sirve para acceder a JSON anidado de una respuesta HTTP. Es muy útil para coger las keys del JSON que queremos y añadirlas a nuestro modelo sin crear modelos que no necesitamos.

JSONDecoder y nestedContainer en SWIFT
nestedContainer en Swift nos sirve para acceder a JSON anidado de una respuesta HTTP. Es muy útil para coger las keys del JSON que queremos y añadirlas a nuestro modelo sin crear modelos que no necesitamos.Aprende a usar nestedContainer y JSONDecoder en Swift.

5. URLSession y JSONDecoder

Ejemplo práctico combinando URLSession y JSONDecoder

URLSession + JSONDecoder en Swift y SwiftUI en Español
URLSession y JSONDecoder en Swift es la combinación perfecta para realizar una petición HTTP y transformar el JSON a un modelo de nuestra app iOS. Hoy veremos un ejemplo práctico haciendo una petición a una URL y mostrando los datos en SWIFTUI (JSON Swift)

6. Calbacks VS Async/Await en Swift

Ejemplo práctico, donde primero creamos el código con Callbacks y luego lo migramos/refactorizamos a Async/Await

Callbacks vs Async/Await en Swift
Async/Await en Swift nos permite tener un código mucho más lineal que usando los típicos callbacks (o completion handlers). Con Async/Await podemos mejorar nuestro código para que sea más legible, entendible y fácil de mantener.