GraphQL 기본구조

raejun·2021년 12월 30일
0

GraphQL

  • 페이스북에서 만든 쿼리 언어
  • 웹 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것이 목적
  • 하나의 endPoint에서 모든 것 처리
  • Overfetching(필요보다 많은 데이터(사용하지 않을)를 가져오는 것) 해결
  • Underfetching(하나의 endpoint로의 요청으로는 충분한 데이터를 받지 못하는 것을 말하고 이로 인해서 두 개 혹은 그 이상의 endpoint에 요청 필요) 해결

Apollo-Server

  • GraphQL의 라이브러리
  • 백엔드와 프론트엔드에서 모두 사용 가능
  • Node.js의 거의 모든 frameworks 지원
  • 간편하고 쉬운 설정
  • 풍성한 기능 제공
  • typeDefs와 resolvers를 인자로 받음

GraphQL 구조

  • query

    • 데이터를 읽음(R)
  • mutation

    • 데이터를 변조(CUD)
  • typeDefs: 데이터의 구조 선언

    • gql: API를 위한 쿼리 언어(타입 시스템을 사용하여 쿼리를 실행하는 서버사이드 런타임)
    • type Query: 자료요청에 사용할 쿼리들을 정의, 쿼리 명령문 마다 반환할 데이터 형태 지정
    • type Team: team이란 데이터가 어떤 항목들로 구성 되어 있는지 명세


  • resolvers: 행위(수정,삭제,생성)를 지정

    • Query란 object의 항목들로 데이터를 반환하는 함수 선언
  • Mutation

  • gql에서의 Mutation 선언

  • resolvers에서의 Mutation 선언



profile
정리노트

0개의 댓글