analogcoding

GraphQL 본문

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은 원하는 정보 단 한 가지만을 요청할 수 있거나 필요한 많은 정보들을 한 번의 요청으로 해결을 할 수 있게 한다.

 

 

 

'Be well coding > Learn more' 카테고리의 다른 글

Apollo Start  (0) 2019.07.26
GraphQL 사용법  (0) 2019.07.26
RDS & S3 & EC2  (0) 2019.06.28
쿠키 & 세션 & 토큰  (0) 2019.06.26
Promise / callback / 동기&비동기  (0) 2019.06.21
Comments