NestJS · GraphQL

Code-first 스키마와 리졸버 연결

TypeScript 클래스와 데코레이터가 GraphQL 계약을 만들고, 리졸버가 그 계약의 실제 실행 경로를 담당합니다.

스키마 생성 경로

autoSchemaFile
@ObjectType

응답 타입

Post와 User의 필드가 클라이언트가 조회할 수 있는 데이터 형태를 정합니다.

@InputType

요청 입력

CreatePostInput과 UpdatePostInput이 뮤테이션 인자의 계약이 됩니다.

schema.gql

자동 SDL

NestJS가 데코레이터 정보를 모아 GraphQL 스키마 파일을 생성합니다.

요청별 리졸버 책임

runtime
Query

읽기 요청

posts, post, author 필드를 필요한 데이터 소스에 매핑합니다.

Mutation

상태 변경

입력 DTO를 검증하고 생성, 수정, 삭제 후 PubSub 이벤트를 발행합니다.

Subscription

실시간 알림

postAdded 같은 이벤트 이터레이터를 WebSocket 구독자에게 연결합니다.