tsepen
@tsepen
Frontend developer

Как правильнее получить данные с нескольких endpoint-ов?

При загрузке страницы по Rest я получаю данные с 3-х эндпонинтов - юзер, товары, баннеры - на данный момент я делаю запросы независимо друга от друга в разных экшенах. Правильно ли так делать или нужно несколько запросов объединить в один, например через axios.all ?
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 4
rockon404
@rockon404 Куратор тега React
Frontend Developer
Данные пользователя, по-хорошему, запрашивать в экшене инициализации приложения, а загрузку товаров инициировать в cdm страницы товаров.
Ответ написан
Комментировать
bootd
@bootd
Гугли и ты откроешь врата знаний!
axios.all сделает в любом случае 3 запроса, но используя promise.all
Если данные, на зависят друг от друга, то да, это самый лучший вариант, просто объедените их в 1 функцию и уже внутри этой функции раскладывайте данные по полочкам
Ответ написан
Комментировать
radar4ick
@radar4ick
web-developer
Если уж сильно хочется исправить три запроса на один, можно создать один общий контроллер, который будет собирать данные из 3-х других контроллеров и отправлять все одним ответом
Ответ написан
Комментировать
@PavelPikat
REST подразумевает собой множество endpoints которые будут вызваны независимо друг от друга, поэтому overfetching для приложений с REST бэкендом это норма. Если это становится проблемой в плане производительности\трафика, то нужно задумываться над объединением либо запросов, либо эндпойнтов, либо вообще от REST уходить, например в GraphQL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы