[Graph QL] Graph QL 이란?

Graph QL

Graph QL 이란?

Graph QL 은 API 를 위한 쿼리 언어로,
데이터를 위해 정의한 타입 시스템을 사용하여
쿼리를 실행하는 서버 사이드 런타입입니다.

특정 데이터베이스 또는 스토리지 엔진과 연결되어 있지 않으며,
대신 기존 코드 및 데이터에 의해 뒷받침됩니다.

GraphQL 서비스는 해당 타입에 타입 및 필드를 정의한 다음,
각 타입의 각 필드에 대한 기능을 제공함으로써 생성됩니다.


/* 로그인한 사용자가 누구인지(me)와 해당 사용자의 이름을 알 수 있는 서비스 - Graph QL */

type Query {
    me: user
}

type User {
    id: ID
    name: String
}
// 위의 기능을 JavaScript로 작성하면 다음과 같습니다.

function Query_me(request) {
  return request.auth.user;
}

function User_name(user) {
  return user.getName();
}


GraphQL 서비스가 실행되면 (일반적으로 웹 서비스의 URL) GraphQL 쿼리를 전송하여,
유효성을 검사하고 실행할 수 있습니다. 수신 된 쿼리는 먼저 정의된 타입과 필드만
참조하는지 확인한 다음 정의된 기능을 실행하여 결과를 생성합니다.


{
    me {
        name
    }
}


다음과 같은 JSON 결과를 생성할 수 있습니다.


{
  "me": {
    "name": "Moong2"
  }
}