Sobes.tech
Junior

Gde je najbolje da postavljate zahteve ka backend-u?

sobes.tech АИ

Одговор од АИ

Подаци за бекенд најбоље је извршавати коришћењем асинхроних метода у коду:

  1. На страни клијента (у прегледачу):

    • Са API-јем fetch или библиотеком као што је Axios.
    • Погодно за интерактивне акције корисника, динамичко учитавање података, слање формулара.
    • Омогућава креирање SPA (Single Page Applications).
    • Реализује се у JavaScript/TypeScript-у.
    // Пример са fetch
    async function fetchData() {
      try {
        const response = await fetch('/api/data');
        if (!response.ok) {
          throw new Error(`HTTP грешка! статус: ${response.status}`);
        }
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('Грешка при добијању података:', error);
      }
    }
    
  2. На страни сервера (нпр., са SSR/SSG framework-има):

    • У framework-има као што су Next.js или Nuxt.js (за React и Vue редом).
    • Податци могу бити добијени током изградње (SSG) или при сваком захтеву (SSR).
    • Побољшава SEO и перформансе (мање "белих екрана"), јер се страница рендерује са подацима.
    • Омогућава избегавање проблема са CORS.
    • Примери метода у Next.js: getStaticProps, getServerSideProps.
    // Пример са 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, // Приказ 404 странице
        };
      }
    
      return {
        props: { data }, // Пренос података као пропса компоненти странице
      };
    }
    

Избор зависи од потребног нивоа интерактивности, потреба за SEO, типа апликације (SPA, MPA) и коришћеног framework-а. Често се користи комбинација ових приступа.