개발자

프론트에서 동시에 여러 데이터를 백엔드에서 받아와야 할 때

2023년 10월 17일조회 476

현재 여러 통계를 보여주는 대시보드 페이지를 만들고 있는데 api를 어떤 방식으로 호출할 지 고민이네요. 1. 모든 데이터가 담긴 하나의 api만 호출한다. 2. 데이터마다 api를 생성하고 각각 호출하여 렌더링 한다. 어떤 방식이 나을까요? 더 좋은 방식이 있을까요? react 사용하고 있습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

정재용님의 프로필 사진

안녕하세요. 질문해주신 내용은 상황에 따라 달라질수 있을것 같아요. 일단 각 방법에 따른 장단점은 [하나의 api만 호출하는 경우] 네트워크 오버헤드가 줄어들고, 중복되는 로직호출이 없어진다는 장점이 있지만, 대신 한번에 모든 데이터를 처리하기 때문에 데이터가 추가 될때마다 응답을 받기 까지 걸리는 시간이 늘어나는 단점이 있을수 있을것 같아요. [각각 호출하는 경우] 병렬로 개별 api를 호출하기때문에 각각의 응답 시간이 짧아질 수 있지만, 대신 네트워크 오버헤드가 증가하고, 중복 로직이 호출되어야 하는 경우들이 발생할수 있습니다. 그래서 어떤 것이 더 나은 방식이다 라고 말씀드리긴 어렵지만, 상황에 따라 중복되는 호출은 최대한 병합하고, 병렬로 호출하여 사용자 경험을 개선할 수 있는 부분은 나누는 방식으로 진행하시면 좋을것 같다는 의견입니다.

손우진님의 프로필 사진

모든 데이터가 담긴 하나의 API 를 호출하는 게 항상 좋다고 보긴 어렵습니다. 대시보드 내에 여러 통계 대시보드가 있다고 하면 그 모든 통계 데이터를 백엔드에서 만들기 위해 결합도가 높을 수 밖에 없는 코드를 작성해야 할 지도 모르죠. N개의 대시보드 중 몇 가지 대시보드가 오류로 인해 보이지 않더라도 나누는 게 훨씬 개발하긴 편할거에요.

CGYOU님의 프로필 사진

모든 데이터를 하나의 API로 불러오면 해당 API를 재활용하기에 부적절할것 같네요. 상황에 따라 틀리겠지만 높이가 높은 페이지라면 일단 진입시 화면에 보여지는 컴포넌트 관련 API만 호출하고 스크롤을 아래로 내리면서 동적으로 기타 컴포넌트를 로드하면서 필요한 API를 호출하면 어떨까 싶네요~

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!