Avatar ·

¿Cómo hacer una solicitud HTTP en Swift?

¡Hola a todos! Por favor, indíquenme cómo realizar correctamente una solicitud HTTP en Swift para una aplicación iOS/macOS. Soy nuevo en el desarrollo para Apple y todavía no entiendo bien qué enfoque se considera actualmente relevante.

Necesito enviar una solicitud GET a una API REST pública (por ejemplo, obtener una lista de usuarios) y procesar la respuesta en formato JSON. Intenté usar el antiguo URLSession con delegados, pero el código resulta voluminoso y difícil de entender. También me topé con bibliotecas de terceros como Alamofire, pero me gustaría primero familiarizarme con las herramientas nativas.

Aquí hay un ejemplo de mi código actual, que no funciona correctamente (error al decodificar JSON):

let url = URL(string: "https://jsonplaceholder.typicode.com/users")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    if let data = data {
        let json = try? JSONSerialization.jsonObject(with: data, options: [])
        print(json)
    }
}
task.resume()