Sobes.tech
Junior

Gdzie najlepiej wykonywać zapytania do backendu?

sobes.tech AI

Odpowiedź od AI

Wykonywanie zapytań do backendu jest najlepiej wykonywać za pomocą metod asynchronicznych w kodzie:

  1. Po stronie klienta (w przeglądarce):

    • Z użyciem API fetch lub biblioteki takiej jak Axios.
    • Odpowiednie do interaktywnych działań użytkownika, dynamicznego ładowania danych, wysyłania formularzy.
    • Pozwala na tworzenie SPA (Single Page Applications).
    • Implementowane w JavaScript/TypeScript.
    // Przykład z fetch
    async function fetchData() {
      try {
        const response = await fetch('/api/data');
        if (!response.ok) {
          throw new Error(`Błąd HTTP! status: ${response.status}`);
        }
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('Błąd podczas pobierania danych:', error);
      }
    }
    
  2. Po stronie serwera (np. przy użyciu frameworków SSR/SSG):

    • W frameworkach takich jak Next.js lub Nuxt.js (dla React i Vue odpowiednio).
    • Dane mogą być pobierane podczas kompilacji (SSG) lub przy każdym żądaniu (SSR).
    • Poprawia SEO i wydajność (mniej "białego ekranu"), ponieważ strona jest renderowana z danymi.
    • Pozwala uniknąć problemów z CORS.
    • Przykłady metod w Next.js: getStaticProps, getServerSideProps.
    // Przykład z 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, // Wyświetli stronę 404
        };
      }
    
      return {
        props: { data }, // Przekazuje dane jako props do komponentu strony
      };
    }
    

Wybór zależy od wymaganego poziomu interaktywności, potrzeb SEO, typu aplikacji (SPA, MPA) i używanego frameworka. Często stosuje się kombinację tych podejść.