Inviare una richiesta http

Swift:
Inviare una richiesta http

Come fare:

In Swift, possiamo utilizzare URLSession per gestire richieste HTTP. Ecco un esempio.

import Foundation

// Creiamo l'URL della risorsa
if let url = URL(string: "https://api.miosito.it/dati") {
    
    // Creiamo una sessione
    let session = URLSession.shared
    
    // Creiamo la richiesta
    let task = session.dataTask(with: url) { data, response, error in
        // Controlliamo se ci sono errori
        if let error = error {
            print("Errore di richiesta: \(error)")
            return
        }
        
        // Controlliamo la risposta ed estraiamo i dati
        if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
            if let mimeType = httpResponse.mimeType, mimeType == "application/json",
               let data = data,
               let datiStringa = String(data: data, encoding: .utf8) {
                print("Dati ricevuti: \(datiStringa)")
            }
        } else {
            print("Problema con la risposta HTTP")
        }
    }
    
    // Eseguiamo la task
    task.resume()
}

Questo script fa una richiesta GET e stampa i dati ricevuti.

Approfondimento

La richiesta HTTP è un concetto fondamentale del web dal 1991, data della prima proposta di HTTP. In Swift, URLSession è lo standard per inviare richieste, ma ci sono alternative come Alamofire, che rendono alcune cose più semplici. Importante: gestire i dati e le risposte asincronamente per non bloccare il thread principale, essenziale per l’esperienza utente.

Vedi anche