REST:
- 서버가 브라우저에게 제공하는 인터페이스를 사용하는 방법. 서로 다른 웹 어플리케이션이 공통으로 사용 가능.
- 리소스 기반 ( 예: /users/10 ) - 리소스에 대한 작업은 해당 URL에 대한 HTTP 요청들로 이루어진다.
상황 #1
소셜 미디어 기능이 있는 어플리케이션. 블로그 리스트를 보여주고 싶은데, 내가 팔로우하는 블로그 중에서 유저들이 코멘트를 남긴 글만 보고 싶은 경우
- HTTP 요청 여러번 해야함
- 불필요한 데이터도 받게 됨
- 브라우저 코드 복잡해짐
GraphQL:
- 브라우저의 코드가 원하는 데이터에 대한 query를 작성하고, 이를 HTTP POST 요청으로 API로 보내기.
- 모든 GraphQL 쿼리는 동일 주소로 POST 된다.
query FetchBlogsQuery {
user(username: "mluukkai") {
followedUsers {
blogs {
comments {
user {
blogs {
title
}
}
}
}
}
}
}
'GraphQL' 카테고리의 다른 글
Fullstack Part 8 #5 Fragments and subscriptions (0) | 2021.03.12 |
---|---|
Fullstack Part 8 #4 Login & Cache update (0) | 2021.03.11 |
Fullstack Part 8 #3 DB (0) | 2021.03.10 |
Fullstack part 8 #2 React and GraphQL (0) | 2021.03.09 |
Fullstack Part 8 #1 GraphQL-server (0) | 2021.03.08 |
댓글