Be well coding/Learn more
GraphQL
be well
2019. 7. 25. 21:42
GraphQL이란
GraphQL은 페이스북에서 만든 API를 위한 쿼리 언어로 기존에 API를 구현할 때에는 REST API가 사용되고 있는데
REST API는 두 가지 단점이 있다. 바로 Over-Fetching 과 Under-Fetching이 발생하는데
이 두 가지 문제를 해결해 주는 것이 GraphQL이다.
Over-Fetching이란
Over-Fetching 이란 필요한 정보만 받는 게 아닌 불필요한 정보까지도 서버로부터 받게 되는 것이다.
User의 userName만 필요하지만 서버에 요청하게 되면 그 외에 정보까지도 전달받게 된다.
ex)
{
"Users": [
{
"id": "1",
"userName": "test123",
"email": "test123@gmail.com"
}
]
}
userName을 받기 위해서는 email 정보까지 같이 받아오게 되는데 이것을 바로 Over-Fetching이라고 부른다.
Under-Fetching이란
Under-Fetching 이란 여러 개의 정보를 얻기 위해 서버로부터 불러오는 요청을 여러 번 보내는 것이다.
ex)
sns 웹 혹은 어플을 실행시켰을 때 user의 정보, 타임 라인, 알림 등의 정보를 불러오기 위해
서버를 향해 user, 타임 라인, 알림 등의 정보를 각각 요청을 보내는 것이다.
GraphQL은 원하는 정보 단 한 가지만을 요청할 수 있거나 필요한 많은 정보들을 한 번의 요청으로 해결을 할 수 있게 한다.