[GraphQL] GraphQL이란?

어서와 GraphQL은 처음이지?

GraphQL은 페이스북에서 만든 웹 클라이언트가 서버에서 데이터를 가져오기 쉽게 만든 쿼리 언어이다. 아직 국내에서 gql Open API를 제공한 사례를 찾아볼 순 없지만, 사내에서도 종종 사용하는 팀이 보이는 만큼 인기가 올라가고 있는건 맞는거 같다. gql을 지원하는 Apollo에서는 강력한 쿼리 캐시 기능이나 refetch 등 다양한 기능을 제공하고 있다.

gql은 서버사이드에서 gql로 작성된 쿼리를 받아 결과를 처리해 클라이언트로 돌려주는 역할을 한다. 하나의 엔트포인트를 사용하고 데이터를 바디에 실어 보내기 때문에 모든 요청은 POST로만 보내고 요청의 특징에 따라 querymutation을 하용한다.

gql pipeline

gql의 기술 스택

일반적인 REST API는 URLMethod를 조합해 다양한 엔드포인트를 사용하는 반면, gql은 단일 엔드포인트로 요청을 수행한다. 또한 gql을 사용하면 한번의 호출로 여러 처리를 할 수 있게 된다.

gql의 쿼리

gql은 querymutation으로 나눠 요청을 개념적으로 분리하는데 query는 데이터를 읽는 행위를 의미하고 mutation은 데이터를 바꾸는 행위를 의미한다.

gql스키마

gql스키마는 데이터베이스의 스키마와 같은 개념을 가진다. 특정 요청이나 반환할 데이터 타입에 대한 정의를 할 수 있다.

Author: Song Hayoung
Link: https://songhayoung.github.io/2021/07/24/GraphQL/graphql-1/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.