Junior
Dove è meglio effettuare le richieste al backend?
sobes.tech AI
Risposta dell'AI
Eseguire richieste al backend è meglio farlo utilizzando metodi asincroni nel codice:
-
Sul lato client (nel browser):
- Utilizzando l'API
fetcho una libreria comeAxios. - Adatto per azioni interattive dell'utente, caricamento dinamico di dati, invio di moduli.
- Permette di creare SPA (Single Page Applications).
- Implementato in JavaScript/TypeScript.
// Esempio con fetch async function fetchData() { try { const response = await fetch('/api/data'); if (!response.ok) { throw new Error(`Errore HTTP! stato: ${response.status}`); } const data = await response.json(); console.log(data); } catch (error) { console.error('Errore nel recupero dei dati:', error); } } - Utilizzando l'API
-
Sul lato server (ad esempio, usando framework con SSR/SSG):
- In framework come Next.js o Nuxt.js (per React e Vue rispettivamente).
- I dati possono essere ottenuti durante la compilazione (SSG) o ad ogni richiesta (SSR).
- Migliora SEO e prestazioni (meno "schermo bianco"), poiché la pagina viene renderizzata con i dati.
- Permette di evitare problemi di CORS.
- Esempi di metodi in Next.js:
getStaticProps,getServerSideProps.
// Esempio con Next.js (getServerSideProps) export async function getServerSideProps(context) { const res = await fetch('https://api.example.com/data'); const data = await res.json(); if (!data) { return { notFound: true, // Mostrare pagina 404 }; } return { props: { data }, // Passare i dati come props al componente della pagina }; }
La scelta dipende dall'interattività richiesta, dalla necessità di SEO, dal tipo di applicazione (SPA, MPA) e dal framework utilizzato. Spesso si utilizza una combinazione di questi approcci.