REST API란?
- GraphQL 이전부터 사용
- 소프트웨어간 정보를 주고 받는 방식
- 4가지의 메서드를 사용(GET, POST, PUT, DELETE)
- Overfetching과 Underfetching 이 발생하는 단점이 있음
- 데이터를 얻기 위해 다양한 endpoint가 필요함
overfetching이란?
- 데이터를 요청하게되면 해당 구조의 모든 데이터를 리턴 받게됨
- 즉, 굳이 내가 필요없는 데이터까지 불러와지게되는것
underfetching이란?
- 내가 원하는 정보들이 여러 계층에 걸쳐서 얽혀있는 경우, 그 데이터를 얻기 위해 여러번의 요청을 하는 것
GraphQL이란?
- 위 두 문제를 해결하기 위하여 facebook에서 만든 쿼리 언어
- 단 하나의 endpoint가 존재
- 불러오는 데이터 종류를 쿼리 조합을 통해 결정
- 필요한 데이터만 가져올 수 있음
- 여러곳에 얽혀있는 데이터를 여러번 요청 없이 단 한번의 요청으로만 데이터를 가져올 수 있음
query {
team(id:2){
id
manager
}
}
위와 같은 형식으로 요청을 하면 "id가 2번인 팀에서 다른건 다 필요없고 id와 manager 데이터만 줘"
이런 의미로 데이터 요청이 가능하다