GraphQL
REST와 GraphQL
kicksky
2021. 3. 8. 13:04
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
}
}
}
}
}
}
}