본문 바로가기
개발/GraphQL , Apollo

GraphQL 정리

by 안뇽! 2023. 11. 23.
반응형

GraphQL

Rest 처럼 http기반이지만 post만 사용한다.

그래서 캐시를 이용할 경우 개발자가 따로 처리를 해주어야 하는데, 나는 apollo를 사용한다.

 

rest와는 다르게 서버에서 단일 엔드포인트를 뜷어놓으면 클라이언트에서는 스키마(데이터 모델)와 query,mutation타입을 통해 이용할 리소스를 받아올 수 있다. rest는 서버에서 주는대로 받아! 라면 gql은 내가 알아서 가져갈게~ 느낌

 

기존에 이용하는 값만 지우지 않는다면 클라이언트에 영향을 주지 않으면서 서버에서 api의 결과를 추가할 수 있다.

 

스키마

클라이언트에서 이용할 데이터모델이다.

 

아래와 같은 스키마를 보내면

export const GET_CATEGORIES = `
  query allArticles {
    allArticles {
        _createdAt
        category
    }
  }
`;

 

아래와 같은 응답이 온다.

 

이렇게 클라이언트에서 받고 싶은 데이터 모델을 보내주면 그대로 서버에서 보내준다.

 

궁금증

결국 gql도 rest의 일종인 것 아닌가? 하는 생각이 든다.

반응형