REST 다중 요청 vs GraphQL 단일 쿼리

REST는 리소스 엔드포인트를 조합하고 GraphQL은 화면이 필요한 필드를 쿼리로 선언한다.

비교 축RESTGraphQL판단 기준
요청 단위URL과 method가 리소스를 표현query가 응답 모양을 표현리소스 중심인가 화면 중심인가
데이터 양over/under fetch 가능필드 선택으로 응답 조절화면별 필드 조합이 자주 바뀌는가
캐시HTTP 캐시와 endpoint 캐시가 단순쿼리 단위 캐시 설계 필요캐시 무효화 비용이 감당되는가
계약문서와 상태 코드 중심schema 타입 중심클라이언트와 타입 계약이 중요한가
비용여러 요청과 조합 로직resolver 비용과 N+1관계 조회 비용을 통제할 수 있는가

GraphQL은 REST의 상위호환이 아니라 복합 화면 데이터 요구를 schema와 query로 표현하는 다른 계약이다.