[nodejs] GraphQL 쿼리 언어 쿼리 예약어

GraphQL은 쿼리와 뮤테이션을 위한 강력한 언어로, 데이터를 효율적으로 요청하고 조작할 수 있습니다. GraphQL 쿼리 언어에는 특정한 목적을 위해 예약된 몇 가지 특별한 키워드가 있습니다.

1. query

query 키워드는 데이터를 요청하는 용도로 사용됩니다. 쿼리를 통해 클라이언트는 서버로부터 원하는 데이터를 요청합니다.

query {
  user {
    id
    name
  }
}

위의 예제에서 query 키워드를 사용하여 user 객체의 idname 필드를 요청했습니다.

2. mutation

mutation 키워드는 데이터를 변경하는 용도로 사용됩니다. 즉, 새로운 데이터를 생성하거나 기존 데이터를 수정하고 삭제할 때 사용됩니다.

mutation {
  createUser(input: { name: "John", email: "john@example.com" }) {
    id
    name
    email
  }
}

위의 예제에서 mutation 키워드를 사용하여 createUser 뮤테이션을 호출하여 새로운 사용자를 생성합니다.

3. subscription

subscription 키워드는 클라이언트가 구독(subscribe)하고 있는 데이터의 변경을 실시간으로 수신하기 위해 사용됩니다. 주로 웹소켓을 이용하여 실시간 데이터를 전달하는 데 사용됩니다.

subscription {
  newPost {
    id
    title
  }
}

위의 예제에서 subscription 키워드를 사용하여 newPost 구독을 생성하여 새로운 글이 작성될 때마다 실시간으로 데이터를 수신합니다.

GraphQL 쿼리 언어의 이러한 예약어를 사용하여 데이터를 요청하고 수정하며, 실시간으로 데이터를 구독할 수 있습니다. 이는 GraphQL이 제공하는 강력한 기능 중 하나입니다.