Junior
Gde je najbolje da postavljate zahteve ka backend-u?
sobes.tech АИ
Одговор од АИ
Подаци за бекенд најбоље је извршавати коришћењем асинхроних метода у коду:
-
На страни клијента (у прегледачу):
- Са 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); } } - Са API-јем
-
На страни сервера (нпр., са 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-а. Често се користи комбинација ових приступа.