GraphQL이 해결해 줄 수 있는 REST API의 문제점

Lenny·2022년 6월 24일
0

REST API 두 가지의 문제점을 가지고있다.

첫 번째 문제점은 Overfetching이다.


Over-fetching

Over-fetching 이란, 데이터를 받아올 때 내가 사용하지 않는 데이터까지 받아오는것이다!

예를들어 영화 정보 REST API를 fetching 한다고하면, 우리가 사용하지 않는 데이터까지 전부 JSON으로 받아오게된다.

사용하지도 않을건데 모든 데이터를 다 받아올 필요가 있을까? 받아오는 데이터가 크면 클 수록 백엔드와 데이터베이스는 더 많은 일을 하게된다.

GraphQL은 이런 문제점을 해결해준다.

왜냐하면 GraphQL은 url로 데이터를 즉시 받지 않기 때문이다.

GraphQL을 사용하면 API에 GraphQL 쿼리를 보내고 필요한 것만 정확히 얻을 수 있다.

이건 다시말하면 항상 예측 가능한 결과를 반환한다고 할 수 있는것이다!


두 번째 문제점은 Under-fetching 이다.


Under-fetching

Under-fetching 이란, 내가 필요한 데이터보다 적은 데이터를 받는것을 의미한다.

이런 상황이 생길 경우 request를 여러번 해야하는 상황이 생길 수도 있다.

예를들어, 어떤 URL으로 request 했을때 내가 원하는 만큼의 정보를 제공하지 않을 수 있다.

예를들어 영화장르에 대한 정보를 원했는데, 그 해당 장르에 해당하는 id값만을 제공한다던지..

이렇게되면 해당 id값을 가지고 또 다른 url에 그 id값을 넘겨주고 내가 원하는 장르를 찾기위한 request를 한번 더 보내야한다.

이게 under-fetching 으로 발생할 수 있는 문제점이다.

GraphQL은 많은 리소스들을 하나의 request로 받아올 수 있다고 한다.

이런 문제점을 GraphQL을 사용함으로써 해결할 수 있는거시다.

많은 API에 여러개의 request를 보낼 필요가 없는거임!

profile
🧑‍💻

0개의 댓글