[nodejs] GraphQL 쿼리 언어 에일리어스(Alias) 예제
GraphQL은 데이터를 가져오기 위한 강력한 쿼리 언어입니다. 에일리어스(Alias)는 GraphQL에서 필드의 별칭을 지정할 수 있게 해주는 기능입니다. 이 기능을 사용하면 여러 필드를 한 번에 가져올 때 필드명을 변경할 수 있어 가독성을 높이고 중첩된 쿼리에서 중복을 줄일 수 있습니다.
에일리어스(Alias)는 쿼리의 필드명 뒤에 콜론(:)을 사용하여 지정할 수 있습니다. 이를 통해 여러 필드에 동일한 데이터를 가져와도 별칭을 이용해 서로 다른 필드명으로 데이터를 받을 수 있습니다.
에일리어스(Alias) 예제
다음은 Node.js에서 GraphQL을 사용하여 에일리어스(Alias)를 적용한 예제 코드입니다.
const { graphql, buildSchema } = require('graphql');
// GraphQL 스키마 정의
const schema = buildSchema(`
type Query {
employee: Employee
}
type Employee {
id: ID
name: String
department: String
}
`);
// 실제 데이터
const fakeDatabase = {
1: { id: '1', name: 'John Doe', department: 'Engineering' },
2: { id: '2', name: 'Jane Smith', department: 'Marketing' },
};
// Root resolver
const root = {
employee: () => fakeDatabase[1],
};
// 에일리어스(Alias)를 사용한 GraphQL 쿼리
const query = '{ john: employee { id, name }, jane: employee { id, department } }';
// 쿼리 실행
graphql(schema, query, root).then((result) => {
console.log(result);
});
위의 코드는 간단한 직원 정보를 가상의 데이터베이스에서 가져오는 예제입니다. 에일리어스(Alias)를 사용하여 id
, name
, department
필드에 각각 john
과 jane
이라는 별칭을 지정하여 데이터를 받아오고 있습니다.
이를 실행하면 아래와 같은 결과가 출력됩니다.
{ data: { john: { id: '1', name: 'John Doe' }, jane: { id: '1', department: 'Engineering' } } }
이와 같이 GraphQL의 에일리어스(Alias)를 통해 필드의 별칭을 지정하여 쿼리를 작성할 수 있습니다.