피드로 돌아가기
Dev.toFrontend
원문 읽기
GraphQL 기반 Selection Set 도입을 통한 Mobile Network Overhead 최적화
Lesson 1.2 - REST Problems and the First GraphQL Fixes
AI 요약
Context
REST API의 고정된 Response 구조로 인한 Over-fetching과 Under-fetching 문제 발생. 특히 불안정한 네트워크 환경의 Mobile Client에서 불필요한 데이터 전송 및 다중 Request로 인한 상태 관리 복잡도 증가가 주요 병목 지점으로 분석됨.
Technical Solution
- Client-driven Selection Set 설계를 통한 필요한 필드만 요청하여 Over-fetching 제거
- Single Endpoint 내 다중 Root Resource 요청 구조를 통해 Under-fetching 해결
- 다수의 REST API 호출을 단일 GraphQL Query로 통합하여 Network Round-trip 횟수 최소화
- UI 레이아웃 요구사항에 최적화된 데이터 쉐이핑으로 Client-side State Orchestration 부담 경감
- POST 메서드 기반의 단일 진입점을 통한 API 호출 인터페이스 단순화
실천 포인트
- 화면별 필수 데이터 필드를 정의하여 Over-fetching 여부 검토 - 다중 API 호출이 필요한 복잡한 레이아웃의 경우 단일 Query로의 통합 가능성 분석 - Mobile 환경의 네트워크 제약 사항을 고려한 Response Payload 크기 최적화 수행 - API 응답 구조를 서버가 아닌 클라이언트 요구사항 중심으로 설계하도록 변경