본문 바로가기
1st life_Programmer/GraphQL

3. Query와 Resolver를 이용해 간단한 서버 실행시키기

by Z선배 2019. 7. 31.

스키마를 마저 정의해주고 서버를 실행시켜줍시다.

스키마란?

주고 받을 정보에 대한 설명을 적은 것입니다.

사전지식

우리가 GraphQL로 할 수 있는 것은 세 가지가 있습니다.

  • Query : 질문

    어떤 데이터를 받을지 요청

  • Mutation : 변형

    서버나 디비에서 정보를 바꾸는 작업

  • Resolver : 해결

    쿼리가 질문한 것을 어떻게 해결할 것인지에 대한 해결방법

  •  

schema.graphql에 첫 번째 쿼리를 선언해보겠습니다.

type Query{
    name : String!
}

 

디비에 name을 물어보면 String으로 대답을 받겠다는 설명입니다. (!는 필수요소라는 것을 뜻합니다.)

이렇게 쿼리로 데이터베이스에 어떤 정보를 원하는지 문제를 내주었습니다.

그렇다면 해결하는 방법또한 알고 있어야 겠죠??

이제 해결방법을 resolvers.js에 Resolver를 정의하겠습니다.

 

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

export default resolvers;

 

어떤 사용자가 name 쿼리를 보내면 Sso를 반환하는 함수로 답할 것입니다.

지금까지 한 것은 Query를 설명했고 Resolvers를 프로그래밍 했습니다.

이제 index.js 에 정의한 스키마를 넣어줍시다.

 

import { GraphQLServer } from "graphql-yoga";
import resolvers from "./graphql/resolvers";             


const server = new GraphQLServer({
    typeDefs: "graphql/schema.graphql",
    resolvers
});

server.start(()=> console.log("GraphQL Server Runnung"));

 

 

실행을 시킨 뒤 localhost:4000에 들어가보면 GraphQL-Playground가 나옵니다.

이것은 graphql-yoga의 일부로 쿼리에 대한 응답을 확인해 볼 수 있게 만들어 준 것입니다!

다음 시간에는 스키마를 확장시켜볼께요 :)

댓글