스키마를 작성하는 문법을 스키마 정의 언어라고 부릅니다.
간단한 예제입니다.
type Person {
name: String!
age: Int!
}
{
allPersons {
name
}
}
위의 쿼리문에서 allPersons 필드는 쿼리문의 루트 필드(root field) 라고 부릅니다. 루트 필드 아래에 있는 모든 값들은 쿼리문의 페이로드라고 부릅니다.
GraphQL의 가장 큰 장점 중 하나는 중첩된 정보를 자연스럽게 질의할 수 있다는 점입니다.
{
allPersons {
name
age
posts {
title
}
}
}
GraphQL에서는 각 필드가 스키마에 정의된 규칙에 따라 0개 이상의 인자를 가질 수 있습니다.
{
allPersons(last: 2) {
name
}
}
CUD에 대한 작업을 GraphQL에서는 Mutation이라고 합니다.
사실 뮤테이션과 쿼리는 기본적으로 같은 구조를 가지고 있습니다. 단 mutation
키워드를 반드시 붙여야 하지요.