매일 하루 우리들의 살아가는 이야기

REST API와 GraphQL 차이 쉽게 정리

daily-why 2026. 6. 15. 18:11

이번에는 REST API와 GraphQL 차이를 쉽게 정리해봤어요. 둘 다 클라이언트와 서버가 데이터를 주고받는 방식이지만, 요청하는 방법과 데이터를 가져오는 방식이 다릅니다.



1) REST API는 주소 중심으로 데이터를 요청한다  
REST API는 보통 `/users`, `/posts`, `/comments`처럼 자원별 주소를 나누고, 그 주소에 요청을 보내 데이터를 가져옵니다. 구조가 직관적이라 처음 배우기 쉽고, 웹 개발에서 오랫동안 널리 쓰였습니다. 초보자는 “정해진 메뉴판에서 원하는 메뉴를 고르는 방식”으로 이해하면 쉽습니다.

2) GraphQL은 필요한 필드를 직접 골라 요청한다  
GraphQL은 하나의 요청 안에서 필요한 데이터 구조를 직접 지정할 수 있습니다. 예를 들어 사용자 이름과 최근 글 제목만 필요하다면 그 필드만 요청할 수 있어요. 초보자는 “원하는 재료를 직접 골라 주문하는 방식”으로 생각하면 REST와 차이가 보입니다.



3) REST는 단순하고 익숙한 구조가 장점이다  
REST API는 주소와 HTTP 메서드의 조합으로 동작하기 때문에 구조가 비교적 단순합니다. 문서화 도구와 예시도 많고, 대부분의 개발자가 익숙하게 다룰 수 있습니다. 작은 프로젝트나 일반적인 CRUD 서비스에서는 REST만으로도 충분한 경우가 많습니다.

4) GraphQL은 필요한 데이터만 가져오기 좋다  
GraphQL은 화면에서 필요한 데이터만 골라 가져올 수 있어 과하게 많이 받거나 적게 받아 다시 요청하는 문제를 줄일 수 있습니다. 특히 모바일 앱처럼 데이터 양과 요청 횟수가 중요한 환경에서 장점이 있습니다. 다만 서버 쪽 설계와 권한 관리가 더 신중해야 합니다.

5) REST는 여러 요청이 필요할 때가 있다  
REST에서는 사용자 정보, 글 목록, 댓글 목록이 각각 다른 주소에 있다면 여러 번 요청해야 할 수 있습니다. 이 방식은 구조가 명확하지만 화면이 복잡해질수록 요청 횟수가 늘어날 수 있어요. 그래서 프론트엔드 화면 구성에 따라 API 설계를 잘 나누는 것이 중요합니다.



6) GraphQL은 자유로운 만큼 복잡해질 수 있다  
GraphQL은 클라이언트가 필요한 데이터를 유연하게 요청할 수 있지만, 너무 복잡한 요청이 서버에 부담을 줄 수 있습니다. 캐싱, 권한, 성능 모니터링도 REST보다 다르게 접근해야 할 때가 많습니다. 그래서 무조건 최신 방식이라고 선택하기보다 팀의 경험과 서비스 구조를 봐야 합니다.

7) 무엇이 더 좋다보다 상황에 따라 다르다  
REST와 GraphQL은 어느 하나가 무조건 더 좋은 관계가 아닙니다. 단순한 서비스, 외부 공개 API, 익숙한 구조가 필요하면 REST가 편할 수 있습니다. 화면별 데이터 요구가 복잡하고 프론트엔드 중심으로 유연하게 가져와야 한다면 GraphQL이 잘 맞을 수 있습니다.



REST API는 정해진 주소에서 데이터를 가져오는 방식이고, GraphQL은 필요한 데이터를 직접 골라 요청하는 방식에 가깝습니다. 초보자는 먼저 REST를 이해한 뒤 GraphQL을 보면 차이가 훨씬 쉽게 보입니다.