[typescript] 타입스크립트에서 GraphQL 쿼리 작성하기
GraphQL은 클라이언트와 서버 간의 데이터 통신을 위한 강력한 쿼리 언어이자 런타임입니다. 타입스크립트를 사용하는 경우, GraphQL 쿼리를 작성하고 사용하는 방법에 대해 알아보겠습니다.
1. GraphQL 스키마 및 쿼리 정의
먼저, GraphQL 스키마를 정의해야 합니다. 타입스크립트에서는 graphql
패키지를 사용하여 GraphQL 스키마를 정의할 수 있습니다. 예를 들어, 다음과 같이 스키마를 정의할 수 있습니다.
import { gql } from 'graphql';
const typeDefs = gql`
type Query {
hello: String
}
`;
2. GraphQL 쿼리 보내기
GraphQL 쿼리를 보내기 위해 클라이언트 라이브러리를 사용해야 합니다. apollo-client
나 graphql-request
와 같은 라이브러리를 사용하여 쿼리를 서버에 보낼 수 있습니다.
import { request, gql } from 'graphql-request';
const query = gql`
query {
hello
}
`;
const data = await request('http://localhost:4000', query);
console.log(data);
3. 타입 안정성 확보
타입스크립트를 사용하면 GraphQL 쿼리에 대해 타입 안정성을 확보할 수 있습니다. codegen
과 같은 도구를 사용하여 GraphQL 쿼리를 기반으로 타입 정의를 생성할 수 있습니다.
// graphql.schema.d.ts
export type Query = {
hello: string;
};
이제, 타입이 안정된 GraphQL 쿼리를 작성하고 사용할 수 있습니다.
결론
타입스크립트를 사용하여 GraphQL 쿼리를 작성하고 활용하는 것은 타입 안정성을 확보하면서 개발 생산성을 높일 수 있는 좋은 방법입니다. GraphQL 쿼리를 정의하고 실행함에 있어서 타입스크립트가 제공하는 강력한 기능들을 활용하여 안정적이고 확장 가능한 코드를 작성할 수 있습니다.
참고 문헌: