The Schema Definition Language (SDL)

스키마를 작성하는 문법을 스키마 정의 언어라고 부릅니다.

간단한 예제입니다.

type Person {
  name: String!
  age: Int!
}

쿼리문을 사용하여 데이터 불러오기

기본적인 쿼리문

{
  allPersons {
    name
  }
}

위의 쿼리문에서 allPersons 필드는 쿼리문의 루트 필드(root field) 라고 부릅니다. 루트 필드 아래에 있는 모든 값들은 쿼리문의 페이로드라고 부릅니다.

GraphQL의 가장 큰 장점 중 하나는 중첩된 정보를 자연스럽게 질의할 수 있다는 점입니다.

{
  allPersons {
    name
    age
    posts {
      title
    }
  }
}

인자를 담아서 쿼리문 보내기

GraphQL에서는 각 필드가 스키마에 정의된 규칙에 따라 0개 이상의 인자를 가질 수 있습니다.

{
  allPersons(last: 2) {
    name
  }
}

Mutation으로 데이터 기록하기

CUD에 대한 작업을 GraphQL에서는 Mutation이라고 합니다.

사실 뮤테이션과 쿼리는 기본적으로 같은 구조를 가지고 있습니다. 단 mutation 키워드를 반드시 붙여야 하지요.