반응형

 

 

GraphQL이란 당신의 API를 위한 쿼리 언어이자, 당신이 필요로 하여 만든 데이터 타입을 쿼리 형태로 실행 실행시킬 수 있는 서버사이드 런타임이다. 쿼리 언어라고 하는데 데이터베이스에서 사용하는 쿼리 언어와 서버-클라리언트(GraphQL)에서 사용하는 쿼리 언어로써는 다르다.

GraphQL은 데이터베이스나 플랫폼에 종속되어 있지 않는 것이 특징이다. GraphQL을 사용하면 빠르게 API를 만들어(restful api 대체) 웹 백단을 구성할 수 있다. GraphQL은 개발자가 필요로 하는 타입을 만들며, 타입에 따른 함수를 만들어 호출 할 수 있다.

 

아래의 예시를 보자.

 

1. 개발자가 필요로 하는 타입을 생성 (me를 호출 시 User 반환, User를 호출 시 name을 반환)

type Query {
  me: User
}

type User {
  id: ID
  name: String
}

 

2. 각각 타입에 맞는 함수를 생성 (개발자는 1번과 같이 타입을 만들고 필요로 하는 아래와 같이 쿼리를 직접 만들어 호출할 수 있게끔 만든다.)

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

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

 

3. 위에서 만든 타입인 me호출 해보자

{
  me {
    name
  }
}

 

4. 호출한 결과는 아래와 같다.

{
  "me": {
    "name": "Luke Skywalker"
  }
}

 

위와 같은 내용으로 공식 문서에 설명이 되어 있지만, 다음화에는 GraphQL과 Prisma를 활용하여 API를 직접 만들어 보자. 어떻게 하면 활용하는지에 대해서 학습을 하며 GraphQL을 이해 해보자.

 

 

* 서버사이드란?

클라이언트-서버 네트워크 구조에서 서버 쪽에서 행해지는 처리를 말한다.

 

* 학습 페이지

https://graphql.org/learn/

 

반응형

+ Recent posts