Graph QL 이란?

graphQL은 API를 위한 쿼리언어이다.

서버측 런타임으로 클라이언트에게 요청한 만큼의 데이터를 제공하는 데 우선 순위를 둔다.

  1. over-fetching의 문제를 해결함
  • 필요한 것만 요청하고 받으세요
  1. under-fetching의 문제를 해결함.
  • 내가 필요한 모든 정보를 한번에 주지 않음 > 두번 세번 요청을 해야하는 상황이 생김
  1. 엄격하게 정의된 데이터 유형으로 클라이언트와 서버간 통신오류를 줄여준다.

Graph QL 설치방법.

node init -y

npm i apollo-server graphql
npm i -D nodemon

server.js 작성

import { ApolloServer, gql } from "apollo-server";

//이 부분에 스키마, 리졸버를 작성해야함.

const server = new ApolloServer({ typeDefs, resolvers });

server.listen().then(({ url }) => {
  console.log(`Running on ${url}`);
});

여기서 스키마와 리졸버란?

  • 스키마 : GraphQL을 사용해 클라이언트가 서비스를 통해 쿼리할 가능성이 있는 모든 데이터를 설명하는 것.

  • 리졸버 : 실행 중 값을 생산하기 위해 호출하는 것.

쿼리와 뮤테이션이란?

  • Query는 REST의 GET과 비슷

  • Mutation은 REST의 POST, DELETE, PATCH등 수정에 관련된 모든 것을 담당한다.

package.json파일 수정

"scripts": {
    ...,
    "dev" : "nodemon server.js"
  },

//맨밑에 추가

"type" : "modules"

자세한 스키마 리졸버 작성은 .. 추후 포스팅에서 실제 API를 작성해 보면서 공부하고.. 작성해 보도록.....

profile
Front-end Developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN