kok202
GraphQL 강의 (1~3 : 세팅)

2019. 8. 10. 02:33[공부] 영상/GraphQL

강의 출처

 

 


깃허브 환경 세팅

> mkdir movieql
> cd movieql
> yarn init
name (movieql):
version (1.0.0): 
description: Movie API with GraphQL
repository url: MY_GIT_HUB_REPOSITORY_URL
author: -
> git init .
> git remote add origin MY_GIT_HUB_REPOSITORY_URL
> git pull origin master
> yarn add graphql-yoga

 

 

 

https://github.com/prisma/graphql-yoga

 

prisma/graphql-yoga

🧘 Fully-featured GraphQL Server with focus on easy setup, performance & great developer experience - prisma/graphql-yoga

github.com

GraphQL-yoga 쉽게 설치하는데 초점을 둔 GraphQL 서버

 

 

 

GraphQL 장점

1. Over fetching 해결 : 내가 요청한 영역의 정보보다 이상의 정보를 서버로 부터 받은 경우 낭비가 생긴다. Rest 에서는 백엔드에서 정해진대로 Response 를 받아 사용하기 때문에 이런 문제가 잦다. GraphQL 은 Database 에서 내가 사용할 컬럼에 대해서만 요청을 보내고 받을 수 있다.

 

2. Under fetching : 어떤 하나의 페이지를 완성하기 위해 다른 요청을 여러번 해야하는 경우가 있다. 이를 Under fetching 이라고 한다. GraphQL 은 쿼리를 한번만 사용할 수 있다.

 

 

 

GrpahQL 특징

- 엔드포인트가 하나다. (/graphql)그러므로 URL 체계가 존재하지 않는다.

- 원하는 정보를 들여쓰기를 이용하여 받아오길 원하는 컬럼 정보를 요청한다. 이를 통해 요청한 정보들만 받을 수 있다.

 

 

 

 

> yarn global add nodemon
> yarn global add babel-cli --ignore-engines

nodemon : 서버 파일의 수정을 바로 반영해주는 간단한 프로그램

babel-cli: 코드를 더 예브게 만들어준다. like node.js 의 import

babel 설정관련된 내용은 영상을 참조

 

package.json

{
    "name":"movieql",
    "version":"1.0.0",
    "description":"Movie API with GraphQL",
    "main":"index.js"
    "repository":"https://github.com/~~~~~",
    "author":"kok202",
    "license":"MIT",
    "dependenices":{
        "graphql-yoga":"^1.14.8"
    },
    "scripts":{
        "start":"nodemon --exec babel-node index.js"
    }
}

index.js

import {GraphQLServer}  from "graphql-yoga"

const server = new GraphQLServer({
})
server.start(()=>console.log("GraphQL server running"));

 

 

 

'[공부] 영상 > GraphQL' 카테고리의 다른 글

GraphQL 강의 (10~11 : Wrapping REST API)  (0) 2019.08.10
GraphQL 강의 (8~9 : Mutation)  (0) 2019.08.10
GraphQL 강의 (6~7 : Schema Array, Find)  (0) 2019.08.10
GraphQL 강의 (4 : Schema String)  (0) 2019.08.10
GraphQL  (0) 2019.08.08