GraphQL

kdobro_dev·2022년 10월 19일
0

TIL (Today I Learned)

목록 보기
55/56
post-thumbnail

예를 들어 영화 api를 요청했는데
나는 제목만 필요한데 모든 데이터 날짜 개봉일 등이 다 넘어오는 것을 over fetching이라고 한다.
그러나 실제 필요한 정보만 특정하여 요청한다면, DB가 일을 많이 할 필요도 없고, 서버와 휴대폰 간의
이동해야하는 데이터도 커지지 않기 때문에, 로딩 시간도 획기적으로 줄어든다.
GraphQL = Query Language이다.
정확하게 필요한 정보만 요청할 수 있게 해준다.
수많은 데이터 낭비가 아니라 GraphQL을 사용해 쿼리를 보내고 아래 데이터로 요청한다.

{
  	upcoming {
    	title
    }
}

이러한 데이터를 받을 수 있다. 필요한 정보만..

{
  	"upcoming" : [
    	{"title": "The Northman"},
        {"title}: "Dune"},
        {"title": "Dr. Strange"}
    ]  
}

under fetching 이란
예를 들어, 앞으로 개봉 할 영화와, 지금 현재 상영중인 영화의 제목들을 요청하고 싶을때


{
	upcoming {
    	title
    }
    nowPlaying {
    	title
        popularity
    }
}
{
  	"upcoming" : [
    	{"title": "The Northman"},
        {"title}: "Dune"},
        {"title": "Dr. Strange"}
    ],
    "nowPlaying" : [
    	{"title": "The Godfather", "popularity": 10},
    	{"title": "Iron Man", "popularity": 8},
    	{"title": "Avengers", "popularity": 9},
    ]  
}

이렇게 GraphQL은 Over Fetching, Under Fetching을 한번에 해결한다. 그뿐만 아니라
API 만드는 것을 재밌게 해주기도 한다.

profile
do your best at any moment

0개의 댓글