본문 바로가기
카테고리 없음

GraphQL 개념

by Forsaken Developer 2023. 1. 16.
728x90
728x90

GraphQL

2012부터 facebook 모바일 어플리케이션이 사용하기 시작했고 2015년에 오픈소스가 되었다.

GraphQL은 rest API는 2가지의 큰 문제점을 해결하기 위해서 만들어졌다.

1. over-fetching

rest api를 통해서 url로 데이터를 요청할 경우 데이터를 사용하는 여부와 관계없이 많은 데이터를 받게 된다. GraphQL에서는 필요한 data를 요청한다. Ask for what you need, get exactly that. 즉 필요한 걸 요청하고, 딱 그것만 받을 수 있다.

2. under-fetching

하나의 view에 여러 개의 api에서 데이터를 받아와야 할 경우가 있다. 하나의 api요청으로는 필요한 모든 데이터를 불러올 수 없다. 이것이 원하는 것보다 적게 fetch하는 under-fetching이다. 이럴 때 rest api를 사용하면 api의 수 만큼 요청을 해야할 수도 있다. 그러면 로딩 시간이 길어지고 요청 중 하나는 실패할 수도 있다. Get many resources in a single request. GraphQl을 사용하면 많은 resource들을 하나의 request에서 받을 수 있다.

https://graphql.org/swapi-graphql

 

SWAPI GraphQL API

 

graphql.org

allFilms와 allPeople에서 필요한 데이터만 가져와서 over-fetching 문제를 해결할 수 있으며 한번의 요청으로 allFilms, allPeople 데이터를 모두 가져올 수 있다.

728x90
반응형

댓글