본문 바로가기

배움의 즐거움/프로그래밍

(1) GraphQL - 소개

반응형


GraphQL 입문

GraphQL이 어떻게 동작하는지, 어떻게 사용하는지에 대해 알아보자. GraphQL을 이용하여 어떻게 서비스를 만들지 도큐멘테이션을 찾고 있는가? 다양한 언어들로 GraphQL을 적용할 수 있도록 돕는 많은 라이브러리들이 있다. 실제 튜토리얼과 함께 더 깊게 알아보기 위해서는 How to GraphQL에서 볼 수 있다.

GraphQL은 너의 API, 그리고 너가 정의해놓은 데이터 타입 시스템을 이용하여 쿼리를 실행할 수 있는 서버사이드를 위한 쿼리언어이다. GraphQL은 특정한 데이타베이스나 저장엔진에 얽메여 있지 않고 대신 너의 코드와 데이터에 의해 좌우된다


GraphQL 서비스는 타입과 그 타입에 필드를 적용함으로써, 그리고 각 필드에 함수들을 제공함으로써 생성된다. 예를들어 GraphQL 는 누가 사용자로 로그인했는지(me) 그리고 그 사용자의 이름이 이렇다는걸 보여준다.

type Query {

  me: User

}



type User {

  id: ID

  name: String

}

타입의 각 필드의 함수들:

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

일단 GraphQL 이 실행되면(일반적으로 웹 서비스의 URL에서), 이것은 유효성을 검사하고 실행되기 위하여 GraphQL 쿼리로 보내진다. 받은 쿼리는 우선 이게 정의된 타입과 필드에 해당하는지 확인하고, 그 후 결과를 만들어내기 위하여 제공된 함수를 실행한다.


예시:

{

  me {

    name

  }

}

JSON 결과값을 반환:

{

  "me": {

    "name": "Luke Skywalker"

  }

}

쿼리언어, 타입 시스템, 어떻게 GraphQL 서비스가 동작하는지, GraphQL 사용에 대한 best practice는 무엇인지 와 같은 것들을 이 포스팅들을 통해 더 알아보자.

* 해당 글은 번역기 돌리다가 크롬 번역기 말도 안되는 해석에 지친 본인이 나중에 참고할 의도로 대충대충 발로 해석한 것이니 참고용으로만 사용하시길 바랍니다.

* 출처: https://graphql.github.io/learn/




반응형

'배움의 즐거움 > 프로그래밍' 카테고리의 다른 글

(6) GraphQL - 인트로스펙션  (0) 2018.12.31
(5) GraphQL - 실행  (0) 2018.12.31
(4) GraphQL - 유효성 검사  (0) 2018.12.31
(3) GraphQL - 스키마와 타입  (0) 2018.12.31
(2) GraphQL - 쿼리와 뮤테이션  (1) 2018.12.31