이번 포스트에서는 타입스크립트를 사용하여 GraphQL 스키마를 작성하는 방법을 알아보겠습니다. GraphQL은 API 스키마를 정의하고 타입 시스템을 활용하여 데이터를 쿼리하는 데 사용되는 강력한 쿼리 언어입니다. 타입스크립트를 사용하여 GraphQL 스키마를 정의하면 코드의 안전성과 가독성을 높일 수 있으며, 개발 과정에서 런타임 오류를 줄일 수 있습니다.
1. GraphQL 스키마 작성
먼저, 타입스크립트를 사용하여 GraphQL 스키마를 작성하기 위해 graphql
모듈을 설치해야 합니다.
npm install graphql
다음으로, graphql-tools
모듈을 사용하여 스키마를 정의하고 resolvers를 연결합니다.
// schema.ts
import { makeExecutableSchema } from 'graphql-tools';
const typeDefs = `
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'Hello, world!',
},
};
export const schema = makeExecutableSchema({ typeDefs, resolvers });
위 예제에서는 hello
쿼리를 가진 간단한 스키마를 작성했습니다. 이제 makeExecutableSchema
함수를 사용하여 스키마와 리졸버를 연결한 후 schema
를 내보냅니다.
2. GraphQL 스키마 타입 정의
타입스크립트를 사용하여 GraphQL 스키마의 타입을 정의할 때는 graphql
모듈을 사용하여 타입을 정의합니다.
// types.ts
import { GraphQLObjectType, GraphQLString, GraphQLSchema } from 'graphql';
const queryType = new GraphQLObjectType({
name: 'Query',
fields: {
hello: {
type: GraphQLString,
resolve: () => 'Hello, world!',
},
},
});
export const schema = new GraphQLSchema({ query: queryType });
위 예제에서는 GraphQLObjectType
을 사용하여 Query
타입을 정의하고, 해당 타입에 hello
필드를 추가하였습니다.
결론
이제 여러분은 타입스크립트를 사용하여 GraphQL 스키마를 작성하는 방법을 숙지하였습니다. 타입스크립트의 강력한 타입 시스템을 활용하여 GraphQL 스키마를 안전하게 작성하고, 런타임 오류를 줄일 수 있습니다. GraphQL을 사용하는 프로젝트에서 타입스크립트를 활용하여 스키마를 작성해보세요.
참조: GraphQL 공식 문서, 타입스크립트 공식 문서