[nodejs] GraphQL 쿼리 언어 변수 입력값

GraphQL은 매개변수화된 쿼리를 지원하여 클라이언트에서 서버로 데이터를 요청할 때 유연성을 제공합니다. 변수 를 사용하여 쿼리에 동적 값들을 전달할 수 있기 때문에, 이를 이용하면 동적 데이터를 처리하는데 용이합니다.

GraphQL 쿼리에서 변수 사용하기

GraphQL에서 변수를 사용하려면 쿼리에 $로 시작하는 변수를 정의하고, 이를 쿼리의 인자로 사용해야 합니다. 예를 들어, 아래의 GraphQL 쿼리에서 name이라는 변수를 사용하고 있습니다.

query GetUser($name: String!) {
  user(name: $name) {
    id
    name
  }
}

위의 쿼리에서 $nameString 타입의 변수이며, 느낌표(!)는 이 변수가 필수임을 나타냅니다.

Node.js에서 GraphQL 변수 전달하기

Node.js에서는 GraphQL 쿼리를 실행할 때 변수를 전달하는 방법을 제공합니다. 아래 예제는 graphql 라이브러리를 사용하여 GraphQL 서버로 쿼리를 보내고, 여기에 변수를 전달하는 방법입니다.

const { graphql } = require('graphql');
const schema = require('./schema'); // GraphQL 스키마

const query = `
  query GetUser($name: String!) {
    user(name: $name) {
      id
      name
    }
  }
`;

const variables = { name: 'exampleUser' };

graphql(schema, query, null, null, variables).then((response) => {
  console.log(response.data);
});

위의 예제에서 variables 객체를 사용하여 name 변수에 실제 값을 전달하고 있습니다.

마무리

GraphQL을 사용하면 클라이언트와 서버 간의 효율적인 데이터 전송이 가능해지고, 변수를 활용하여 동적인 데이터 요청에 유연하게 대응할 수 있습니다. Node.js에서는 graphql 라이브러리를 사용하여 GraphQL 쿼리를 실행하고 변수를 전달할 수 있습니다.

더 많은 정보는 GraphQL 공식 문서를 참고할 수 있습니다.