GraphQL 사용해 보기

김형민·2021년 8월 21일
0

GraphQL이 탄생한 배경

graphql이란 server api로 부터 정보를 주고받는 것에 특화된 QL(query language)다.

ios, android 등 다양한 기기에서 필요한 정보의 형태가 조금씩 달라 질 수 있으며 기존의 REST API로는 이것들을 일일이 구현하는 것이 힘들어 지며

정보를 요청하는 측에서 원하는 형태로 정보를 가져오고 수정할 수 있는 것이 필요해졌다.

설치 명령어

yarn add @apollo/client graphql

GraphQL 튜토리얼 영상

https://www.youtube.com/watch?v=YyUWW04HwKY&t=87s

import { gql } from "@apollo/client";

// 여기서 가져올 데이터 컬럼을 선택할 있다
export const LOAD_USERS = gql`
  query {
    getAllUsers {
      id
      firstName
      email
      // password 비밀번호는 가지고 오고 싶지 않으면 주석처리 해도 에러가 없다!
    }
  }
`;

불필요한 데이터를 가지고 오지 않아도 된다는 장점이 있다.
백엔드 측 에서도 굳이 여러 api를 만들지 않아도 될 듯 하다.

REST API vs GraphQL

REST API는 URL, METHOD등을 조합하기 때문에 다양한 Endpoint가 존재 합니다. 반면, gql은 단 하나의 Endpoint가 존재 합니다. 또한, gql API에서는 불러오는 데이터의 종류를 쿼리 조합을 통해서 결정 합니다. 예를 들면, REST API에서는 각 Endpoint마다 데이터베이스 SQL 쿼리가 달라지는 반면, gql API는 gql 스키마의 타입마다 데이터베이스 SQL 쿼리가 달라집니다.

GraphQL에 대해서 아주 얕게 알아봤다.

지금은 당장 사용할 기술은 아니지만 후에 꼭 프로젝트에 도입 해보고 싶다 생각이 들 정도로 매력적인 쿼리인 것 같다:)

GraphQL에 대한 의견참고
https://owin2828.github.io/devlog/2020/11/12/GraphQL-1.html

profile
항해 중인 개발자

0개의 댓글