Schema 먼저 읽기
Query, Mutation, 타입, nullable 여부가 API의 가능한 요청과 응답 모양을 정의합니다.
계약GraphQL은 하나의 endpoint로 모든 문제를 해결하는 방식이 아니라 schema를 중심으로 클라이언트가 필요한 필드를 선언하고, 서버 resolver가 그 필드를 채우는 API 방식입니다. 강점은 선택적 조회와 타입 계약이고, 위험은 resolver 비용과 캐시 복잡도입니다.
Query, Mutation, 타입, nullable 여부가 API의 가능한 요청과 응답 모양을 정의합니다.
계약클라이언트는 같은 리소스라도 화면별로 필요한 필드만 요청해 overfetching을 줄일 수 있습니다.
selection필드마다 DB를 따로 조회하면 N+1 문제가 생기므로 batching, caching, dataloader를 검토합니다.
performance변경 작업은 입력 타입, 검증, 권한 검사, 오류 형식을 schema와 resolver 양쪽에서 일관되게 다룹니다.
writequery UserCard($id: ID!) {
user(id: $id) {
id
name
avatarUrl
}
}