GraphQL

  • 사용이유

    • Over-fetching 을 막기 위해 사용

      • 클라이언트 쪽에서 JSON으로 넘어오는 컬럼이 무수히 있는데 2~3개만 쓰는 경우

    • Under-fetching: 필요한 데이터를 만들기 위해 여러번 호출이 필요 (불필요한 자원 낭비)

      • 다양한 데이터를 여러개 가져오려면, REST의 경우, 여러 API에 요청을 통해 가져와야 통합해야 했다

  • 언제 사용? ()

    • bandwidth 사용량이 중요한 휴대폰, 스마트워치 및 IoT 장치와 같은 장치용 앱

    • 단일 호출로 중첩 데이터를 가져와야 하는 애플리케이션

      • 예, 블로그 + 댓글들

    • Composite pattern

      • 여러 API 를 통해서 데이터를 찾아오는 경우

  • GraphQL 의 Operation Type 3 가지

    • Query: 데이터 조회

    • Mutation : 데이터 수정

    • Subscription: 주로 실시간 서비스 구현 위해 사용

Last updated