인터페이스 계약

NestJS에서 GraphQL 설정 인터페이스 계약

GraphQL 설정은 schema, resolver, module provider가 하나의 타입 계약으로 묶이는지 확인하는 작업입니다.

Schema

Schema 기준

ObjectType, InputType, scalar가 클라이언트가 질의할 수 있는 모양을 정합니다.

Resolver

Resolver 기준

Query, Mutation, ResolveField에서 요청 의도를 받아 service로 넘깁니다.

Provider

Provider 기준

데이터 로딩과 권한 판단은 resolver에 쌓지 말고 provider 경계로 분리합니다.

schema

code-first와 schema-first 중 한 방식을 정하고 산출물을 추적합니다.

field

nullable, list, relation field가 실제 반환값과 맞는지 확인합니다.

N+1

relation 조회는 DataLoader나 batching 기준을 둡니다.