728x90
반응형
기술스택을 늘리고 싶다는 생각만으로 GraphQL을 공부하려고 했다.
하려고 찾아보니 기존 RESTAPI에 있는 문제점인 Over-fetching과 Under-fetching를 해결하기 위해
나온 API 쿼리언어라는 것을 알게 되었다.
그럼 Over-fetching과 Under-fetching이 뭔지 알아야 좀 더 효율적으로 사용할 수 있을 것 같아
정리를 해보려고 한다.
Over-fetching
API를 호출 시 필요없는 데이터(?) 사용하지 않을 데이터까지 딸려오는 것을 말한다.
만약 내가 유저의 정보 중에서 유저의 이름만을 원한다고 하면 어떨까?
{
user: [
{
"id": 1,
"name": "dong",
"email": "naver.com",
"age" : 23,
},
{
"id": 2,
"name": "hyo",
"email": "gmail.com",
"age": 20,
}
]
}
여기서 name만 가져오고 싶지만 실상 데이터를 받게 되면 id, email, age들도 같이 받게 되어
불필요한 데이터들 때문에 네트워크가 지연이 될 수 있습니다.
Under-fetching
하나의 endpoint를 통해서가 아닌 두 개 이상의 호출을 통해서 필요한 정보를 받는 것을 말합니다.
예를 들면, 유저의 정보와 게시물정보 댓글 정보를 같이 불러오게 된다면
3개의 API를 호출하게 됩니다.
이렇게 되면 단일 호출에 비해 네트워크가 더 지연이 될 수 밖에 없는 현상이 발생됩니다.
이 두가지를 해결하도록 나온 것이 GraphQL !!
한번 공부를 해보도록 하겠숩니다..!
728x90
반응형
'JavaScript > NodeJs' 카테고리의 다른 글
express.use 메소드 (0) | 2020.09.19 |
---|---|
[Prisma2] ON DELETE CASCADE는 어떻게 하는건가! (0) | 2020.09.03 |