[typescript] GraphQL 쿼리 언어

GraphQL 스키마 정의

먼저, GraphQL 스키마를 정의해야 합니다. 스키마는 데이터 타입과 쿼리 형식을 정의합니다. TypeScript를 사용하여 GraphQL 스키마를 작성할 때는 다음과 같은 방법으로 작성할 수 있습니다.

import { gql } from 'graphql-tag';

const typeDefs = gql`
  type Query {
    hello: String
  }
`;

여기서 typeDefs는 GraphQL 스키마를 정의합니다. 이 스키마는 hello라는 필드를 가진 Query 타입을 정의하고 있습니다.

GraphQL 쿼리 실행

이제 정의한 GraphQL 스키마를 사용하여 실제 쿼리를 실행해보겠습니다. TypeScript의 경우, Apollo Client나 다른 GraphQL 클라이언트를 이용하여 서버에 쿼리를 실행할 수 있습니다.

import { ApolloClient, InMemoryCache, createHttpLink } from '@apollo/client';
import { gql } from '@apollo/client';

const client = new ApolloClient({
  cache: new InMemoryCache(),
  link: createHttpLink({
    uri: 'http://localhost:4000/graphql',
  }),
});

client
  .query({
    query: gql`
      query {
        hello
      }
    `,
  })
  .then(result => console.log(result.data));

위의 예제에서 ApolloClient를 생성하고, query 메서드를 사용하여 서버에 쿼리를 보내고 결과를 받아올 수 있습니다.

GraphQL을 TypeScript와 함께 사용하면 타입 안정성과 IDE에서의 자동 완성과 같은 혜택을 누릴 수 있습니다. 이를 통해 개발자는 데이터 요청과 응답에 대해 더욱 예측 가능하고 안전한 코드를 작성할 수 있습니다.

더 자세한 내용은 TypeScript로 GraphQL 사용하기를 참고하세요.