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 |