kok202
GraphQL 강의 (4 : Schema String)

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

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 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"
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 Query{
    name: String!
}

느낌표 : nullable=false

name 에대한 답변은 한다면 String 타입의 데이터가 내려간다.

name 에대한 결과는 null 이 아니다.

 

graphql/resolvers.js

const resolvers = {
    Query: {
        name:() => "kok202"
    }
}

export default resolvers;

name 에대한 Query 는 그냥 단순하게 kok202 이를 반환하도록 하였다.

보통 여기에 DB 에대한 쿼리를 보내고 정보를 받아오면 담아서 어떻게 반환하도록 하는 내용이 들어간다.

 

 

 


graphql prayground  : graphql-yoga 에 존재하는 테스트용 GUI like Postman

query{
    name
}

 

 

 

'[공부] 영상 > 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 강의 (1~3 : 세팅)  (0) 2019.08.10
GraphQL  (0) 2019.08.08