Sobes.tech
Junior

Kde je najlepšie vykonávať požiadavky na backend?

sobes.tech AI

Odpoveď od AI

Najlepšie je vykonávať požiadavky na backend pomocou asynchrónnych metód v kóde:

  1. Na strane klienta (v prehliadači):

    • Pomocou API fetch alebo knižnice ako Axios.
    • Vhodné pre interaktívne akcie používateľa, dynamické načítanie dát, odosielanie formulárov.
    • Umožňuje vytvárať SPA (Single Page Applications).
    • Implementuje sa v JavaScripte/TypeScripte.
    // Príklad s fetch
    async function fetchData() {
      try {
        const response = await fetch('/api/data');
        if (!response.ok) {
          throw new Error(`Chyba HTTP! stav: ${response.status}`);
        }
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('Chyba pri načítaní dát:', error);
      }
    }
    
  2. Na strane servera (napríklad s frameworkmi SSR/SSG):

    • V frameworkoch ako Next.js alebo Nuxt.js (pre React a Vue).
    • Dáta je možné získať počas build procesu (SSG) alebo pri každom požiadavku (SSR).
    • Zlepšuje SEO a výkon (menej "bielych obrazoviek"), pretože stránka sa renderuje s dátami.
    • Umožňuje vyhnúť sa problémom s CORS.
    • Príklady metód v Next.js: getStaticProps, getServerSideProps.
    // Príklad s 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, // Zobraziť stránku 404
        };
      }
    
      return {
        props: { data }, // Prenos dát ako props do komponentu stránky
      };
    }
    

Voľba závisí od požadovanej úrovne interaktivity, potrieb SEO, typu aplikácie (SPA, MPA) a frameworku, ktorý sa používa. Často sa používa kombinácia týchto prístupov.