[typescript] 타입스크립트와 GraphQL에서 API 프로토타이핑하기
본 포스트에서는 타입스크립트와 GraphQL을 이용하여 API 프로토타입을 어떻게 구현하는지에 대해 살펴볼 것입니다.
개발 환경 준비하기
우선 타입스크립트와 GraphQL을 사용하기 위한 개발 환경을 구축해야 합니다. 아래 명령어로 타입스크립트 프로젝트를 초기화합니다.
npm init -y
npm install typescript ts-node graphql express express-graphql
GraphQL 스키마 정의하기
GraphQL 스키마를 정의합니다. 이를 통해 API의 타입 및 쿼리를 정의할 수 있습니다. 아래는 간단한 예시입니다.
// schema.ts
import { buildSchema } from 'graphql';
const schema = buildSchema(`
type Query {
hello: String
}
`);
export default schema;
Resolver 구현하기
Resolver는 GraphQL 쿼리가 호출될 때 해당 쿼리에 대한 실제 로직을 구현하는 부분입니다. 아래는 간단한 예시입니다.
// resolver.ts
const root = {
hello: () => {
return 'Hello, world!';
},
};
export default root;
Express 서버 구축하기
타입스크립트와 Express를 사용하여 서버를 만듭니다.
// server.ts
import express from 'express';
import graphqlHTTP from 'express-graphql';
import schema from './schema';
import resolver from './resolver';
const app = express();
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: resolver,
graphiql: true,
}));
app.listen(4000, () => {
console.log('Running a GraphQL API server at http://localhost:4000/graphql');
});
실행하기
마지막으로 아래 명령어를 통해 서버를 실행합니다.
ts-node server.ts
이제 http://localhost:4000/graphql에 접속하여 GraphQL API를 테스트할 수 있습니다.
위와 같이 타입스크립트와 GraphQL을 활용하여 API 프로토타이핑을 구현할 수 있습니다. 간단한 예시를 통해 기본 구현 방법을 살펴보았는데, 더 복잡한 API도 마찬가지로 타입스크립트와 GraphQL을 사용하여 프로토타이핑할 수 있습니다.