lezione 03

api e richieste http

consuma api rest con richieste semplici e pulite.

livello: intermedio durata: 22 min output: data fetch badge: api client

requests

import requests

response = requests.get("https://api.example.com/data")
print(response.status_code)

json

payload = response.json()
print(payload["items"])

errori

tip: gestisci sempre status code e timeout.

panoramica

In questo capitolo su api e richieste http, consuma api rest con richieste semplici e pulite. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.

Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).

badge: api client

obiettivi

  • capire e applicare requests in uno scenario reale
  • capire e applicare json in uno scenario reale
  • capire e applicare errori in uno scenario reale
  • riconoscere trade-off tra chiarezza e performance

scheda rapida

def main():
    dati = [1, 2, 3]
    risultati = [x * 2 for x in dati]
    print(risultati)

if __name__ == "__main__":
    main()

Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.

tips

  • usa un venv per ogni progetto
  • separa logica e I/O
  • mantieni funzioni piccole e nominative
  • imposta sempre un timeout
  • controlla status_code prima del parse
  • gestisci paginazione

tip: Se un'API fallisce, conserva request/response minime: ti salvano ore di debug.

mini progetto

Costruisci un client che interroga un endpoint JSON e salva i risultati.

  • definisci base url e params
  • gestisci errori 4xx/5xx
  • parse JSON in modo sicuro
  • salva in file con timestamp

output atteso: uno script o query ripetibile con risultati verificabili.

checklist

  • ho eseguito gli snippet e controllato l'output
  • ho annotato almeno 2 trade-off
  • ho completato il mini progetto
  • ho salvato un riepilogo personale
start a brief