REST-API 와 GRAPHQL-API

sang hyeok Lee·2022년 3월 16일

API

Rest-Api와 Graph-Api를 비교하기 전에 Api에 대해서 알고 넘어가자.

개발공부를 하다가 보면 무조건 듣게 되는 단어중에 하나가 Api라는 단어이다. Api는 프로그램이나 시스템 간의 통신하는 창구이다. 즉, 프로그램들이 서로 상호작용할 수 있도록 해주는 매개체이다.

한 예시로 한 식당에서 손님이 라면을 주문을 하면 주방에서 라면을 만들어 준다.
이를 프로그램에 대입을 하면 손님이 클라이언트이고, 라면주문이 api를 통한 요청이고, 라면이 나오는 것이 서버애서 요청받은 데이터들을 클라이언트에게 넘겨주는 것이다.

프론트엔드에서 백엔드에거 데이터를 요청할 때 사용하는 것이 Api이다.

Api는 크게 4가지 방법으로 구분한다.
생성하는 create
수정하는 update
조회하는 read
삭제하는 delete


Rest-Api

Rest-Api를 알아보기 전에 Rest에 대해서 알아보자면
Rest는 분산 시스템 설계를 위한 아키텍쳐 스타일이다. 여기서 아키텍쳐 스타일이란 제약조건의 집합으로 생각하면 좋을 것이다.

즉, Rest-Api는 Rest아키텍처 원칙을 모두 만족하는 Api라는 뜻이다.
쉽게 설명하면 다른 프로그램과 통신을 할 때 사용하는 방법이다


GraphQl-Api

GraphQl-Api는 Rest-Api의 한계점을 극복하고자 나온 통신규약이다.
Rest-Api는 여러개의 엔드포인트를 가진다. 그래서 새로운 필요한 데이터를 가져올 때마다 그 데이터를 가져오는 엔드포인트들이 늘어나게 된다. 하지만 GraphQl-Api는 하나늬 엔드포인트만을 가지고 있고 다른 쿼리로 요청을 함으로 Rest-Api보다 관리하기가 편하다.

Rest-Api는 하나에 데이터를 받아오면 다양한 데이터들이 들어오기 때문에 필요허지 않은 데이터들이 들어오는 경우가 많다. 예를 들어 철수의 나이 데이터만이 필요한데 Rest-Api로 데이터를 가져오게 되면 철수의 나이 뿐만 아니라 키, 몸무게, 주소 등등 불필요한 정보들이 들어온다.
GraphQl-Api는 클라이언트에서 필요한대로 쿼리를 작성해 원하는 데이터만을 가져올 수 있다.


REST-API와 GRAPH_API의 사용법

Api를 구분 짓는 4가지 경우를 가지고 알아보자

구분rest-apigraph-api
createPOSTMUTATION
updatePUTMUTATION
deleteDELETEMUTATION
readGETQUERY

위에 표를 통해서 rest-api와 graph-api에서 CRUD를 어떻게 이용하는지 알 수 있다.

profile
개발자 되기

0개의 댓글