본문 바로가기
개발(프로그래밍)/GraphQL

Graph QL이란?

by 캔두500 2025. 1. 10.

 

GraphQL

GraphQL 은 웹 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것이 목적인 쿼리 언어이고,
SQL 은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적인 쿼리 언어이다.

따라서 SQL은 주로 백엔드 시스템에서 작성, 호출하는 반면 GraphQL은 클라이언트에서 작성, 호출한다.

 

쿼리언어란?

정보를 얻기 위해 Query(질의문)를 만들어 보내는 컴퓨터 언어.

 

 

GraphQL Vs. REST API

- 하나의 Endpoint

REST API 는 URL + METHOD 를 조합하기 때문에 정말 다양한 엔드포인트가 존재하지만,
GraphQL 은 엔드포인트가 하나만 존재한다. (/graphql)

하나의 엔드포인트를 가지고, 쿼리 조합을 통해 데이터를 요청한다.

 

REST API의 경우 다음과 같이 API를 설계하며 엔드포인트가 늘어나지만

mycode.com/api/example
mycode.com/api/example/name
mycode.com/api/example/{idx}

 

GraphQL의 경우는 다음과 같이 엔드포인트 하나로 쓸 수 있다.

mycode.com/graphgql

query{
	example{
    	name
    }
}

 

 

- response

REST API는 response형태가 정해져 있기 때문에 API별로 response가 다르거나 response 데이터가 수정되는 경우 그에 따라 다시 수정해야 한다. 

하지만 GraphQL은 쿼리로 데이터를 뽑아오기 때문에 커스터마이징이 가능하다.

// REST API request
GET https://mycode.com/api/example/1

// REST API response
{
    "name": "Cando",
    "age": 20,
    "height": 230,
    "weight": 55,
    "hobby": "I LOVE ALL THINGS"
}

 

// GraphQL request
query {
    example(ID: 1) {
        name
        hobby
    }
}

// GraphQL response
{
    "data": {
        "example": {
            "name": "Cando",
            "hobby": "I LOVE ALL THINGS"
        }
    }
}

 

 

특징

Mutation(뮤테이션)

query는 데이터를 ㅇ오고, 뮤테이션은 변조한다. 

 

 

참고한 글

https://velog.io/@soyeon207/GraphQL-GraphQL-%EC%9D%B4%EB%9E%80

 

GraphQL 이란 ?

GraphQL 에 대해서 알아보자

velog.io

 

 

https://tech.kakao.com/posts/364

 

GraphQL 개념잡기 - tech.kakao.com

GraphQL은 페이스북에서 만든 쿼리 언어입니다. GrpahQL은 요즘 개발자들...

tech.kakao.com