Usare API esterne
Recuperare dati da altri servizi nella tua app
⏱ Stima ~5 min
01 · Leggi
La maggior parte delle app reali non vive in isolamento. Comunicano con altri servizi per ottenere dati: un'app meteo chiama una weather API, un'app social chiama una authentication API, un e-commerce chiama una payments API.
Una API (Application Programming Interface) è fondamentalmente un URL che restituisce dati invece di una pagina web. Quando visiti un sito, il browser riceve HTML. Quando il tuo programma chiama una API, riceve JSON — dati strutturati che il programma sa usare.
Hai già incontrato le API al Level 5. Ora le usiamo in un programma reale.
💡 Immagina cosìSe il tuo server è una cucina di ristorante, le API esterne sono i fornitori. Non coltivi i pomodori da solo — chiami il fornitore (la API), fai l'ordine (la richiesta), e lui ti consegna la merce (la risposta). Se il fornitore chiude (la API va down), ti serve un piano B (gestione degli errori).
02 · Esempio di codice
Ecco una route che recupera dati da una API esterna. Leggila e nota tre pattern chiave: async/await, fetch, try/catch.
Esempio: API route
app.get('/api/joke', async (req, res) => {
try {
const response = await fetch('https://official-joke-api.appspot.com/random_joke');
const joke = await response.json();
res.json({
setup: joke.setup,
punchline: joke.punchline
});
} catch (error) {
res.status(500).json({ error: 'Failed to fetch joke' });
}
});
Nota tre cose: (1) async/await ti permette di aspettare i dati esterni senza bloccare il server. La parola chiave 'await' mette in pausa questa funzione finché i dati non arrivano, ma le altre richieste continuano a essere processate. (2) fetch invia la richiesta HTTP alla API esterna. (3) try/catch gestisce gli errori in modo pulito — se la jokes API va down, il tuo server restituisce comunque un messaggio di errore utile invece di crashare.
03 · Leggi
Quando usi API esterne, alcuni concetti si ripresentano sempre. Capirli ti eviterà gli errori più comuni.
Punti chiave
- async/await — il modo per aspettare dati esterni senza bloccare il server
- API key — autenticazione per API a pagamento o private (mettila nel .env!)
- Rate limit — le API limitano quante richieste puoi fare al minuto
- Gestione degli errori — se una API va down, prevedi sempre un fallback
04 · Pratica reale
Prova ad aggiungere questa API route al tuo server Express del Level 7. Chiama una jokes API gratuita che non richiede API key — perfetta per fare pratica.
// Add this to your app.js
app.get('/api/joke', async (req, res) => {
try {
const response = await fetch('https://official-joke-api.appspot.com/random_joke');
const joke = await response.json();
res.json({ setup: joke.setup, punchline: joke.punchline });
} catch (error) {
res.status(500).json({ error: 'Failed to fetch joke' });
}
});05 · Completa
Per gestire gli errori delle API in JavaScript, avvolgi la chiamata fetch in un blocco _____/catch.
06 · Quiz
Perché le chiamate API vanno avvolte in un blocco try/catch?
- Tutte le funzioni JavaScript richiedono try/catch
- Per far girare il programma più veloce
- Per evitare che la API venga chiamata troppo spesso
- Per gestire gli errori in modo pulito quando la API va down
Altre lezioni di questo capitolo
⚠ L'esperienza interattiva completa richiede JavaScript. Attivalo e ricarica la pagina.
※ Questo è un progetto educativo indipendente — non è un prodotto ufficiale di Anthropic. Claude™ è un marchio di Anthropic, PBC.