[공부] 영상/GraphQL(6)
-
GraphQL 강의 (10~11 : Wrapping REST API)
RestAPI 로 이미 사용하고 있는 곳에 GraphQL 으로 wrapping 하여 관리하는 예제 graphql/db.js import {fetch} from "node-fetch" const API_URL = "http://yts-am/api/v2/list_movies.json" export const getMovies = () => { return fetch('${API_URI}') .then(res => res.json()) .then(json=>json.data.movies) } graphql/resolvers.js import {getMovies} from "./db"; const resolvers = { Query: { movies: () => getMovies() } } export defa..
2019.08.10 -
GraphQL 강의 (8~9 : Mutation)
8강의 작업은 예제를 1. Person -> Movie 로 바꾸고 2. 이전과 마찬가지로 movie 에대한 리스트는 지역변수로 관리하며 3. 자바 스크립트 구조체를 CRUD 하는 작업을 다루고 있으므로 생략한다. Mutation : 데이터 베이스의 상태 변경을 요구할 때 사용된다. Query 와 동작원리는 같지만 기본적으로 데이터가 Mutation 은 CUD 될 것을 전제로 한다. type Mutation{ addMovie(name: String!, score: Int!): Movie! deleteMovie(id: Int!): Boolean } const resolvers={ Query: { movies: () => getMovies(), movie: (_, args) => getById(args.id)..
2019.08.10 -
GraphQL 강의 (6~7 : Schema Array, Find)
index.js import {GraphQLServer} from "graphql-yoga" import resolvers from "./qraphql/resolvers" const server = new GraphQLServer({ typeDefs: "graphql/schema.graphql", resolvers }) server.start(()=>console.log("GraphQL server running")); graphql/schema.graphql type Person{ id: Int! name: String! age: Int! gender: String! } type Query{ people: [Person]! person(id: Int!): Person } 느낌표의 의미 : nullabl..
2019.08.10 -
GraphQL 강의 (4 : Schema String)
Schema : 어떤 데이터를 줄지에 대한 설명 Query : 데이터를 받아오는 작업 Mutation : 데이터를 변조하는 작업 Resolvers : 해당하는 요청이 들어왔을 때 어떻게 데이터를 불러와서 응답해줄지에대한 방법을 제시한다. Resolver의 구현은 어떤식으로든 될 수 있다. 여기서 제시하는 것 처럼 그냥 local 변수에 있는 값을 내려줄수도 있고 API call 을 할 수도 있으며 DB에 쿼리를 날릴 수도 있다. *) Query 든 Mutation 이든 GraphQL 은 Request body 를 보내야하기 때문에 POST 방식을 쓴다. package.json { "name":"movieql", "version":"1.0.0", "description":"Movie API with Gra..
2019.08.10 -
GraphQL 강의 (1~3 : 세팅)
강의 출처 깃허브 환경 세팅 > 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 eas..
2019.08.10 -
GraphQL
괜찮은 포스팅1 : https://velopert.com/2318 괜찮은 포스팅2 : https://velog.io/@jakeseo_me/2019-04-28-0904-%EC%9E%91%EC%84%B1%EB%90%A8-qgjv086kyi 테스트 : https://graphql-tryout.herokuapp.com/graphql 강의 출처 : https://www.youtube.com/watch?v=1p-s99REAus SQL : Structure 에 Query 하는 Language GraphQL : Graph 에 Query 하는 Language 특징 - 구현체가 아닌 스펙이다. - facebook 에서 만들었다. - 객체간의 관계는 depth로 관리한다. - GraphQL 스키마를 먼저 선언해야하는 타입 ..
2019.08.08