[typescript] 타입스크립트를 사용한 GraphQL 쿼리 검증 방법

GraphQL은 클라이언트와 서버 간의 데이터 통신을 위한 강력한 쿼리 언어입니다. 타입스크립트와 함께 사용하면 더욱 강력한 타입 안정성을 제공할 수 있습니다. 타입스크립트를 사용하여 GraphQL 쿼리를 검증하는 방법에 대해 알아보겠습니다.

1. GraphQL 스키마 파일 생성

가장 먼저 할 일은 GraphQL 스키마를 정의하는 .graphql 파일을 생성하는 것입니다. 이 파일에는 서버에 정의된 모든 쿼리, 뮤테이션, 서브스크립션 및 타입이 포함됩니다.

// schema.graphql

type User {
  id: ID!
  name: String!
  age: Int!
}

type Query {
  getUser(id: ID!): User
}

2. 타입 정의

다음으로는 타입 정의 파일을 생성합니다. 이 파일에서는 GraphQL 쿼리 및 응답에 대한 타입을 정의합니다.

// types.ts

export type User = {
  id: string;
  name: string;
  age: number;
};

export type Query = {
  getUser: (args: { id: string }) => User;
};

3. GraphQL Code Generator 설치

GraphQL Code Generator를 사용하면 GraphQL 쿼리 및 스키마를 기반으로 타입 정의 파일을 자동으로 생성할 수 있습니다.

npm install @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations @graphql-codegen/typescript-resolvers

4. 코드 생성

GraphQL Code Generator를 사용하여 타입 정의 파일을 생성합니다.

npx graphql-codegen --config codegen.yml

5. 타입 안정성 활용

이제 생성된 타입 정의 파일을 사용하여 타입 안정성을 활용할 수 있습니다.

import { User, Query } from './types';

const user: User = {
  id: '1',
  name: 'John',
  age: 30,
};

const query: Query = {
  getUser: (args) => {
    // 쿼리 수행
    return user;
  },
};

위와 같이 타입스크립트를 사용하여 GraphQL 쿼리를 검증할 수 있습니다. 이를 통해 타입 안정성을 제공하고 개발 프로세스를 보다 안정적으로 만들 수 있습니다.

더 자세한 내용은 GraphQL Code Generator 공식 문서를 참고하시기 바랍니다.