[typescript] 타입스크립트로 GraphQL API를 작성하는 방법
GraphQL은 API를 쉽게 설계하고 쿼리할 수 있도록 도와주는 쿼리 언어입니다. 타입스크립트와 함께 사용하면 타입 안정성과 편리한 개발 경험을 얻을 수 있습니다. 타입스크립트로 GraphQL API를 작성하는 방법에 대해 알아봅시다.
1. 프로젝트 설정
먼저, 타입스크립트로 GraphQL API를 작성하기 위한 프로젝트를 설정합니다. 프로젝트 디렉토리를 생성한 후 다음 명령어를 사용하여 필요한 패키지를 설치합니다.
npm init -y
npm install express apollo-server-express graphql type-graphql
npm install --save-dev typescript @types/node
npx tsc --init
2. 스키마 정의
GraphQL API의 스키마를 정의합니다. 타입스크립트 클래스와 데코레이터를 사용하여 스키마를 작성할 수 있습니다.
예를 들어, 사용자 정보를 다루는 간단한 스키마를 작성해보겠습니다.
import { ObjectType, Field, ID } from 'type-graphql';
@ObjectType()
class User {
@Field((type) => ID)
id: string;
@Field()
name: string;
@Field()
email: string;
}
3. 리졸버 작성
스키마에 대한 실제 동작을 정의하는 리졸버를 작성합니다. Express와 함께 apollo-server를 사용하여 간단한 예제를 작성해보겠습니다.
import { ApolloServer } from 'apollo-server-express';
import { buildSchema } from 'type-graphql';
import express from 'express';
async function startApolloServer() {
const schema = await buildSchema({
resolvers: [/* Resolvers go here */],
});
const server = new ApolloServer({ schema });
const app = express();
server.applyMiddleware({ app });
app.listen({ port: 4000 }, () =>
console.log(`Server ready at http://localhost:4000${server.graphqlPath}`)
);
}
startApolloServer();
4. 실행
타입스크립트 코드를 컴파일하고 서버를 실행하여 GraphQL API를 테스트합니다.
npx tsc
node dist/index.js
이제 타입스크립트로 간단한 GraphQL API를 작성하는 방법에 대해 알아보았습니다. 타입스크립트와 GraphQL을 함께 사용하면 강력한 타입 시스템과 편리한 개발 경험을 얻을 수 있습니다.
더 많은 정보는 타입스크립트 공식 문서와 GraphQL 공식 문서를 참고해보세요.
이상으로, 타입스크립트로 GraphQL API를 작성하는 방법에 대해 알아보았습니다. 문제가 있거나 추가 질문이 있으시면 얼마든지 물어보세요!