2022년 3월 30일

낙서·2022년 3월 30일
0

낙서

목록 보기
17/22

포스트 읽기 - GraphQL 개념잡기

https://tech.kakao.com/2019/08/01/graphql-basic/

GraphQL

서버에서 클라이언트로 데이터를 효율적으로 가져오기 위해 사용하는 쿼리 언어

Rest API, GraphQL 차이

  • REST API: 여러 Endpoint 존재 (URL, Http method를 조합)
  • GraphQL: 하나의 Endpoint 존재 (쿼리를 조합하여 불러오는 데이터 결정)

GraphQL의 장점

여러번의 네트워크 호출이 아닌, 한번의 네트워크 호출로 데이터 처리

Query / Mutation

  • Query: 데이터를 읽음 (Read)
  • Mutation: 데이터를 변조 (Create, Update, Delete)

react apollo client: 클라이언트 사이드에서 변수를 활용한 쿼리로 데이터를 불러옴

오퍼레이션 네임 쿼리

변수를 매개변수로 쿼리하는 함수, 한번의 네트워크 왕복으로 원하는 모든 데이터를 가져옴

Resolver

클라이언트로부터 요청된 Query, Mutation 등에 대한 반환 결과를 생성하는 로직
GraphQL 서버가 Resolver를 찾아서 해당 Query, Mutation 함수 실행
데이터베이스, http, 네트워크 프로토콜 등 다양한 source에서 데이터를 가져올 수 있다

Introspection

실시간 스키마 정보 확인 가능한 Apollo server gql IDE 제공

정리

GraphQL은 퍼포먼스적 장점이 있고,
프론트엔드, 백엔드 협업에 변화를 준다.
프로젝트를 에자일하게 진행 할 때 생산성 향상에 도움이 될 수 있다

react와 혼합하여 사용하려면 또다른 과정들이 필요하고 최근 react를 점령했다는 flux 아키텍쳐와 함께 사용한다는 것은 또 다른 숙제라고 한다.

참고

https://hellominchan.tistory.com/220

profile
Deprecated

0개의 댓글