GraphQL 이란?

이한형·2022년 1월 5일
1

GraphQL

GraphQL은 SQL(Structed Query Language)와 마찬가지로 쿼리 언어입니다.
SQL이 데이터베이스에서 저장된 데이터를 효율적으로 가져오는 것이 목적이라면 GraphQL은 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것이 목적입니다.

REST API? GrpahQL?

Rest API는 다양한 endpoint가 존재합니다. 반면 GraphQL같은 경우에는 단 하나의 endpoint가 존재하고 가져오는 데이터를 쿼리의 조합을 통해서 결정을 합니다.
REST API는 1:1의 관계이고 GraphQL은 1:n의 관계라고 생각할 수 있습니다.
즉 GrpahQL을 사용하면 필요한 데이터만을 선택해서 가져오는 구조이기 때문에 좀 더 쉽고 효율적으로 데이터를 가져올 수 있습니다.

GraphQL의 장점

  • HTTP 요청을 줄일 수 있다.
  • HTTP 응답의 사이즈를 줄일 수 있다.
  • REST API는 Resource 종류에 따라 요청 횟수가 비례하지만 GraphQL은 원하는 정보를 하나의 Query에 담아 요청하는 것이 가능하다.

GraphQL의 단점

  • File 전송 등 Text만으로 하기 힘든 내용을 처리하기 복잡하다.
  • 고정된 요청과 응답만 필요할 경우 Query로 인해 요청의 크기가 REST API보다 커지게 된다.
profile
풀스택 개발자를 지향하는 개발자

0개의 댓글