graphql schema

GraphQL 스키마 설계 체크포인트

GraphQL API는 필요한 데이터를 정확히 묻는 장점이 크지만, 스키마와 resolver 책임을 선명하게 나눠야 안정적이다.

계약

Type 정의

클라이언트가 볼 수 있는 필드와 null 가능성을 스키마에 명확히 적는다.

실행

Resolver 분리

조회, 변경, 필드 해석 로직을 resolver 단위로 얇게 나눈다.

입력 안정성

Input 관리

Mutation 입력은 전용 input 타입과 검증 규칙으로 받는다.

성능

N+1 방지

관계 필드는 dataloader나 batching으로 반복 조회를 제어한다.

GraphQL 스키마 정합성

GraphQL의 타입 안정성은 스키마가 실제 데이터 규칙과 같은 방향일 때 가장 강해진다.