[nodejs] GraphQL 쿼리 언어 변수 입력값 예시
GraphQL은 클라이언트가 원하는 데이터를 정확히 지정할 수 있도록 API를 쿼리할 수 있는 강력한 기능을 제공합니다. 쿼리를 통해 데이터를 요청할 때 동적으로 변수를 입력하여 유연하게 처리할 수 있습니다. 이 문서에서는 Node.js에서 GraphQL 쿼리 언어를 사용하여 변수를 입력하는 방법에 대해 알아보겠습니다.
1. GraphQL 변수 정의하기
먼저, GraphQL에서 변수를 정의하는 방법을 살펴보겠습니다. 변수는 쿼리나 뮤테이션 내에서 $
기호를 사용하여 정의됩니다.
예를 들어, 아래와 같이 id
라는 변수를 정의할 수 있습니다.
query GetUser($id: ID!) {
user(id: $id) {
name
email
}
}
위의 쿼리에서 $id
는 ID 타입의 변수이며, !
는 필수 값이라는 것을 의미합니다.
2. GraphQL 변수 입력값 전달하기
Node.js에서는 graphql
모듈을 사용하여 GraphQL 쿼리를 실행할 수 있습니다. 변수를 입력값으로 전달하기 위해서는 쿼리를 실행하는 함수의 두 번째 인수로 변수 객체를 전달해야 합니다.
아래는 Node.js에서 GraphQL 변수를 입력하여 쿼리를 실행하는 예시입니다.
const { graphql, buildSchema } = require('graphql');
// 스키마 정의
const schema = buildSchema(`
type User {
id: ID!
name: String
email: String
}
type Query {
user(id: ID!): User
}
`);
// 더미 데이터
const fakeDatabase = {
'1': { id: '1', name: 'Alice', email: 'alice@example.com' },
'2': { id: '2', name: 'Bob', email: 'bob@example.com' },
};
// 쿼리 실행
graphql(schema, '{ user(id: $id) { name email } }', null, null, { id: '1' }).then(response => {
console.log(response);
});
위의 예시에서, graphql
함수의 다섯 번째 인수로 { id: '1' }
객체를 전달하여 user
쿼리의 id
변수에 값을 입력했습니다.
이렇게 GraphQL 변수를 입력하여 쿼리를 실행하면 해당 변수를 고려한 데이터가 반환됩니다.
이렇게 GraphQL 쿼리 언어 변수 입력값을 활용하면 동적으로 데이터를 요청하고 처리하는 데 매우 유용합니다.
이상으로 GraphQL 쿼리 언어 변수 입력값에 대한 예시를 살펴보았습니다.