GraphQL이란 및 첫 번째 Schema 생성
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 초보 API 개발자 및 GraphQL 학습자
- 중간 수준의 API 설계 지식을 가진 개발자에게 유용
핵심 요약
- GraphQL은 API의 쿼리 언어이자 서버 런타임으로, Schema와 Resolver 기반으로 데이터를 제공
- Schema는 Type과 Field를 정의하며, 각 Field에 대해 Resolver 함수를 작성하여 데이터를 반환
- Query는 기본 엔트리포인트로, { me }와 같은 형식의 쿼리를 통해 User 객체를 반환 가능
섹션별 세부 요약
- GraphQL 개요
- GraphQL은 API 요청을 효율적으로 처리하기 위한 언어로, Client-Side에서 정확한 데이터를 요청할 수 있음
- Type System은 Schema를 기반으로 데이터 구조를 정의하며, Resolver는 각 필드의 데이터를 반환하는 역할
- 첫 번째 Schema 생성
- Query 타입의 me 필드를 정의하면, 해당 필드를 쿼리하여 User 객체를 반환할 수 있음
- Schema는 Type, Field, Resolver의 조합으로 구성됨
- Resolver 함수 작성
- Resolver는 Field와 동일한 이름의 함수로, 반환 타입이 User 객체여야 함
- 예:
hello
필드의 Resolver는User
타입의 객체를 반환
- 쿼리 방식
- 기본 엔트리포인트는 Query로,
{ me }
형식으로 쿼리 가능 - 엔트리포인트 이름을 MyQuery로 변경하면,
query MyQuery { me }
형식으로 사용해야 함
- 학습 요약
- GraphQL 정의, Schema 생성, Resolver 기능, Query 방식에 대한 핵심 개념 정리
결론
- GraphQL을 활용하면 클라이언트가 필요한 데이터만 요청할 수 있어 API 효율성 향상 가능
- Schema는 Type과 Resolver를 명확히 정의해야 하며, Query 엔트리포인트 관리가 중요
- Resolver 함수는 Field와 동일한 이름으로 작성하고, 반환 타입을 일관성 있게 유지해야 함
- GraphQL Playground나 GraphiQL 같은 도구를 사용하여 Schema 검증 및 Query 테스트를 추천