[typescript] 타입스크립트와 GraphQL에서 API 배포하기

이번 글에서는 타입스크립트와 GraphQL로 작성된 API를 어떻게 배포하는지에 대해 알아보겠습니다.

1. 타입스크립트와 GraphQL로 API 작성하기

먼저, 타입스크립트와 GraphQL을 사용하여 API를 작성합니다. 타입스크립트는 정적 타입 지정이 가능하기 때문에 코드의 안정성을 높일 수 있습니다. 또한, GraphQL을 사용하면 클라이언트가 필요한 데이터만 요청할 수 있어 효율적인 API를 설계할 수 있습니다.

// 예시: GraphQL 스키마 및 리졸버 작성
import { ApolloServer, gql } from 'apollo-server';
import { buildSchema } from 'type-graphql';

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

const resolvers = {
  Query: {
    hello: () => 'Hello, World!',
  },
};

const main = async () => {
  const schema = await buildSchema({
    resolvers: [HelloResolver],
  });

  const server = new ApolloServer({ schema });
  server.listen().then(({ url }) => {
    console.log(`Server is running on ${url}`);
  });
};

main();

2. API를 빌드하고 빌드 파일 생성하기

타입스크립트 코드를 JavaScript로 빌드하고, 빌드된 파일을 생성합니다. 이를 위해 tsc 명령어를 사용하여 타입스크립트 코드를 컴파일합니다.

tsc

위 명령어를 실행하면 dist 폴더에 빌드된 JavaScript 파일이 생성됩니다.

3. API를 서버에 배포하기

빌드된 파일을 서버에 배포합니다. 배포에는 여러 가지 방법이 있지만, 여기서는 Docker를 사용하여 간단히 배포하는 방법을 알아보겠습니다.

# Dockerfile 예시
FROM node:latest

WORKDIR /app

COPY package.json ./
COPY dist ./dist

RUN npm install --production

EXPOSE 4000
CMD ["node", "./dist/app.js"]

위와 같이 Dockerfile을 작성한 뒤, Docker 명령어를 사용하여 이미지를 생성하고 실행하면 API가 서버에 배포됩니다.

4. 결론

이제 우리는 타입스크립트와 GraphQL로 작성된 API를 빌드하고 Docker를 사용하여 서버에 배포하는 과정을 알아보았습니다. 이를 통해 안정적이고 효율적인 API를 개발하고 배포할 수 있게 되었습니다.

위 내용은 참고용으로, 프로덕션 환경에서는 더 많은 고려사항이 필요할 수 있습니다.

참고 자료

기술문서를 작성해 주셔서 감사합니다. 같이 공부해가는 과정이 너무 즐거웠습니다!