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
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 |