아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
카카오스타일 favicon카카오스타일

GraphQL 리졸버 `info` 객체, 쿼리 최적화의 핵심!

by DD
2022-11-15
3년 전
조회수 10

GraphQL 리졸버의 `info` 객체를 활용하여 쿼리 최적화를 수행함

`variableValues`, `path`, `fieldNodes` 등 `info` 객체의 다양한 속성 분석

카카오스타일의 자체 라이브러리, `getFieldList`를 활용한 DB 쿼리 최적화 구현

GraphQL `info` 객체 구조 이해

GraphQL 리졸버의 `info` 객체는 현재 쿼리에 대한 다양한 정보를 담고 있다. `variableValues`를 통해 변수 값을, `path`를 통해 실행 경로를 알 수 있다. `fieldNodes`는 쿼리 최적화에 활용되며, 쿼리 성능 개선에 기여한다.

쿼리 최적화를 위한 `getFieldList` 활용

카카오스타일은 `getFieldList`를 활용하여 클라이언트가 요청한 필드만 DB에서 가져오는 최적화를 구현했다. `getFieldList`는 요청된 필드 목록을 반환하며, ORM의 `select` 구문에 직접 적용 가능하다. 따라서 불필요한 데이터 로딩을 방지한다.

API Gateway에서의 `info` 객체 변형

API Gateway에서 `addArgumentToInfo`와 같은 유틸리티를 사용하여 `info` 객체를 변형한다. 마이크로서비스 호출 시 필요한 인자를 추가하거나, 불필요한 필드를 제거할 수 있다. API gateway에서 클라이언트 요청 변형을 통해 유연성을 확보한다.

GraphQL 이해하기: (4) 리졸버 인자 - 4. info
고급
아키텍처
GraphQL
JavaScript
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

GraphQL args: 리졸버 인자, 제대로 활용하기!

카카오스타일 로고

GraphQL 실행, 전송, 그리고 실전 문제 해결까지!

카카오스타일 로고

클라우드, AI, DevOps 등 개발 관련 무료 자격증 정보 획득!

깃헙 트랜딩 로고

Thrift에서 GraphQL로: 크로키닷컴의 마이크로서비스 통신 여정

카카오스타일 로고

Spring for GraphQL 1.4.6 & 2.0.4 출시!

스프링 로고

GraphQL 스키마 정의, 어떤 방법이 좋을까?

카카오스타일 로고
카카오스타일 favicon카카오스타일
고급
아키텍처
GraphQL
JavaScript
Backend

관련 추천 글

GraphQL args: 리졸버 인자, 제대로 활용하기!

카카오스타일 로고

GraphQL 실행, 전송, 그리고 실전 문제 해결까지!

카카오스타일 로고

클라우드, AI, DevOps 등 개발 관련 무료 자격증 정보 획득!

깃헙 트랜딩 로고