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
allFilms와 allPeople에서 필요한 데이터만 가져와서 over-fetching 문제를 해결할 수 있으며 한번의 요청으로 allFilms, allPeople 데이터를 모두 가져올 수 있다.
728x90
반응형
댓글