rest API vs graphql API

전은평·2023년 4월 4일
0

rest API

REST API란 Representational State Transfer 의 줄임말으로 HTTP를 통해 CRUD(Create, Read, Update, Delete)를 실행하는 API를 뜻한다.

API 이름이 마치 홈페이지 주소처럼 생겼고, 여러개의 엔드포인트를 가지고 있다.

그리고 원하는 값만을 골라서 받을 수 없고 각각의 엔드포인트마다 모든 동일한 데이터를 응답한다

엔드포인트가 많아질 경우 관리하기 힘들 뿐더러, 많은 엔드포인트의 노출을 막기위해 추가적인 처리가 필요 할 수 있다.

그래도 rest API의 경우 엔드포인트를 통해 어떤 기능을 가진 데이터인지 한눈에 파악하기 쉽다는 장점이 있는데 이를 restful하다 라고 표현한다.

RESTful하다라는 것은 REST API의 설계의도를 명확하게 지켜주는 것이다

graphql API

GRAPHQL API란 Graph Query Language의 줄임말이다.

API 이름은 일반적인 함수와 같이 생겼고, 하나의 엔드포인트만을 가지고 있다.

하나의 엔드포인트에 사용하는 쿼리에 따라 다른 응답 반환하고, rest API와 달리 모든 데이터가 아니라 원하는 값만 받을 수 있다.

원하는 값만을 받을 수 있기 때문에 하나의 query에 모두 담아서 요청할 수 있다. 이는 곧 HTTP 요청 횟수를 줄일 수 있다는 장점이 있다.

또한 응답도 원하는 데이터 값만을 받을 수 있기에 rest API와 다르게 응답의 크기도 작게 조절이 가능하다는 장점이 있다.

무조건적으로 rest가 좋다 / graphql이 좋다라고 생각하기 보다는 각각의 장점과 특징이 다 다르기 때문에 상황에 맞춰서 사용하면 될 것 같다!

profile
`아는 만큼 보인다` 라는 명언을 좋아합니다. 많이 배워서 많은 걸 볼 수 있는 개발자가 되고 싶습니다.

0개의 댓글