[nodejs] Express를 사용한 GraphQL 서버 구축

웹 애플리케이션을 개발할 때, GraphQL은 데이터를 효과적으로 관리하고 쿼리하는 데 도움이 되는 강력한 도구입니다. Express는 Node.js 웹 애플리케이션을 빌드하기 위한 가장 인기 있는 프레임워크 중 하나로, GraphQL과의 통합이 가능합니다. 이 포스트에서는 Express를 사용하여 GraphQL 서버를 구축하는 방법에 대해 알아보겠습니다.

목차

Express 프로젝트 설정

가장 먼저, Express 프로젝트를 설정해야 합니다. 프로젝트를 시작하려면, Node.jsnpm (Node Package Manager)가 설치되어 있어야 합니다.

프로젝트 디렉토리를 생성하고, 다음 명령어를 사용하여 package.json 파일을 생성합니다.

npm init -y

이제 Express를 설치합니다.

npm install express

GraphQL 스키마 및 리졸버 설정

GraphQL 스키마 및 리졸버를 설정해야 합니다. GraphQL 스키마는 데이터의 구조를 정의하고, 리졸버는 해당 데이터를 가져오는 로직을 포함합니다.

const { ApolloServer, gql } = require('apollo-server-express');

// 스키마 정의
const typeDefs = gql`
  type Query {
    hello: String
  }
`;

// 리졸버 정의
const resolvers = {
  Query: {
    hello: () => 'Hello, world!',
  },
};

Express 앱과 GraphQL 통합

Express 앱에 GraphQL을 통합하는 방법은 매우 간단합니다. Express 애플리케이션을 생성하고, Apollo Server 미들웨어를 적용합니다.

const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');

const app = express();

const server = new ApolloServer({ typeDefs, resolvers });

server.applyMiddleware({ app });

서버 실행 및 테스트

마지막으로, Express 애플리케이션을 시작하고 GraphQL 서버에 접속하여 테스트할 수 있습니다.

app.listen({ port: 4000 }, () =>
  console.log(`Server ready at http://localhost:4000${server.graphqlPath}`)
);

Express를 사용한 GraphQL 서버 구축은 이제 완료되었습니다! 위의 코드 예제를 통해 여러분도 간단하게 웹 애플리케이션에 GraphQL을 적용할 수 있습니다.

결론

이제 여러분은 Express를 사용하여 GraphQL 서버를 구축하는 방법을 알게 되었습니다. GraphQL은 데이터 요청에 효과적이고 유연한 솔루션을 제공합니다. Express와 함께 사용하면 웹 애플리케이션을 쉽게 개발할 수 있습니다. Express와 GraphQL을 경험해보시고, 더 나은 웹 애플리케이션을 구축해보세요!

참고 문헌: