[GraphQL] GraphQL은 무엇이고 왜 사용할까?

Joah·2022년 11월 1일
0

GraphQL

목록 보기
2/9

REST API와 GraphQL API의 차이

버튼이 어떻게 노출되어 있는지에 있다.
즉, 해당 API의 데이터에 어떻게 접근하지는지, 서버와 소통하는 방식에 차이가 있을 뿐이다.

🏝 REST API의 문제점 (feat. GraphQL 탄생)

😕 Overfetching

over-fetching이란 내가 데이터를 쓰던 쓰지 않던 너무 많은 데이터를 받아오는 것을 말한다.

Movie의 title만 받아오고 싶은데 REST API를 통해서 서버와 소통하면 서버는 영화의 모든 정보가 담긴 JSON파일을 응답하기 때문이다.

즉, 필요 이상의 데이터를 받아오는 것을 over-fetching이라고 한다.
1. 서버, 데이터 베이스가 필요 이상의 많은 일을 해야한다는 것이다.
2. 데이터를 전송하는데 있어서 많은 시간이 소요된다.

GraphQL에서는 필요한 data만 요청할 수 있다.


😕 Underfetching

under-fetching이란 필요한 데이터보다 덜 받아오는 문제이다.

영화의 장르를 받아오고 싶은데 영화 장르는 받아오지 못하고 장르의 아이디 번호만 받아오고 있다.

사용자에게 영화가 액션인지, 코미디인지 보여주고 싶다면 URL을 하나 더 작성하여 요청을 해야한다.
1. 영화에 대한 정보
2. 영화 장르 아이디에 따른 영화 장르

따라서 하나의 URL로는 충분한 데이터를 받아오지 못하는 under-fetching 문제를 REST API는 가지고 있다.

GraphQL에서는 한 번의 요청으로 원하는 데이터를 가져올 수 있다.

profile
Front-end Developer

0개의 댓글