본문 바로가기

기타/web

Rest api GraphQL 차이점

728x90

오늘은 Rest api GraphQL 차이점에 대해 알아보고 언제 어떤 것을 사용해야 하는지 알아보도록 하겠습니다.

 

restapi란

소프트웨어간 정보를 주고 받는 방식입니다.

graphql보다 이전부터 사용되어 왔습니다.

 

restapi의 한계

배달앱과 서버간의 소통

sw는 sw간의 소통으로 이루어진다.

데이터를 주고받을 때의 형식이 rest api이다.

GET, POST, PUT-PATH, DELETE 등이있습니다.

RESTAPI = URL과 요청방식

받아올 때는 GET

넣을 때는 POST

수정할 때는 PUT

삭제할 때는 DELETE

 

강점 :

http 프로토콜을 그대로 활용하기 때문에 웹의 장점 활용할 수 있다.

api 메세지가 의도하는 바를 명확하게 나타내 의도 파악이 쉽다.

서버와 클라이언트의 경계가 명확하다.

 

단점 : 

REST API는 원하지 않는 정보까지 받아온다.

OVERFATCHING문제 발생

특정 데이터만 받아오고 싶을 때 한 번에 가능하다.

UNDERFATCHING


graphql이란?

restapi의 문제를 해결하기 위해 나온 방식으로

get, post, put, delete 방식으로 나눠 보내는 rest api와 달리 post로 모든 처리가 가능하다.

 

 

강점

1.강점 필요한 정보만 선택적으로 받아옴OVERFATCHING

2.다양한 정보를 한 번에 받아올 수 있어 여러번의 요청을 보낼 필요가 없습니다.UNDERFATCHING

3.하나의 url에서 post로 모든 요청이 가능합니다.

 

단점

내용들을 처리하기 복잡하다.

고정된 요청과 응답만 필요로 하는 경우 쿼리로 인해 요청의 크기가 커진다.

재귀적인 쿼리가 불가능하다.

 

 

언제 무엇을 사용해야 하나?

graphql : 서로다른 모양의 다양한 요청을 처리할 때, 대부분의 요청이 crud에 해당할 때

rest : 요청구조가 정해져있을 때

728x90