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