[typescript] 타입스크립트를 사용하여 GraphQL 스키마 정의하기

GraphQL은 API를 위한 쿼리 언어입니다. 타입스크립트를 사용하여 GraphQL 스키마를 정의하면 코드의 안정성을 높일 수 있습니다. 이 글에서는 타입스크립트를 사용하여 간단한 GraphQL 스키마를 정의하는 방법을 살펴보겠습니다.

타입스크립트 인터페이스로 GraphQL 타입 정의하기

먼저, GraphQL 스키마에서 사용할 객체들을 타입스크립트 인터페이스로 정의합니다.

interface User {
  id: number;
  name: string;
  email: string;
}

interface Post {
  id: number;
  title: string;
  content: string;
  author: User;
}

위 코드에서는 UserPost라는 두 개의 객체를 정의했습니다. 각각의 필드에 대한 타입을 지정하여 정확한 데이터 구조를 나타내었습니다.

GraphQL 스키마 정의하기

다음으로, 위에서 정의한 타입스크립트 인터페이스를 사용하여 GraphQL 스키마를 정의합니다.

import { buildSchema } from 'graphql';

const schema = buildSchema(`
  type User {
    id: Int
    name: String
    email: String
  }

  type Post {
    id: Int
    title: String
    content: String
    author: User
  }

  type Query {
    user(id: Int): User
    post(id: Int): Post
  }
`);

export default schema;

위 코드에서는 buildSchema 함수를 사용하여 GraphQL 스키마를 정의했습니다. 각각의 타입에 대해 필드와 그 타입을 지정하고, 쿼리를 정의하여 사용자가 요청할 수 있는 데이터를 명시했습니다.

마무리

이제 위의 코드를 사용하여 TypeScript로 GraphQL 스키마를 정의할 수 있습니다. 타입스크립트를 사용하면 코드의 안정성을 높이고, IDE의 지원을 받을 수 있어 GraphQL 개발을 보다 효율적으로 진행할 수 있습니다.

참고 자료: GraphQL 스키마 정의하기

그럼 모두 행복한 코딩되세요! 😊