728x90

graphQL은 현재 soap => restful => graphQL로 내려오는 차세대 api중 하나이다.

이번에 graphQL의 설명에 대해서는 거두절미하고 빠르게 graphQL을 만드는 방법을 보도록 하자.

일단 graphQL 서버를 express상에서 만드는 예제를 먼저 하도록 하자.


우리는 grapqhQL서버를 express로 만들 것이다.

즉 nodejs가 설치되어 있어야 하며 express로 진행한다.


nodejs설치 포스팅 

npm 사용 포스팅


npm install -g express-generator


일단 express generator를 설치해준다.

express generator를 반드시 설치해줄 필요는 없지만 그렇다면 여러분이 귀찮게 폴더 구조를 만들어 주어야한다.

설치 되어있다면 설치할 필요 없다.



express --view=<view엔진> <프로젝트 이름>


이제 설치를 하자.




cd <프로젝트 이름>

npm install


프로젝트의 패키지들을 설치해준다.



npm install --save express-graphql


이제 express와 graphql어뎁터를 설치해준다.



npm install --save graphql


마지막으로 graphql을 설치한다.

var graphqlHTTP = require('express-graphql');
var { buildSchema } = require('graphql');

app.js 최상단에 모듈들을 추가해준다.


app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true,
}));

app.use로 endpoint /graphql을 추가해준다.

아직 schema와 root를 안만들었는데 이제부터 만들어 보자.


var schema = buildSchema(`
type Query {
hello: String
}
`);

그 다음 스키마를 추가해준다.

스키마에 대한 자세한 설명은 다음 포스팅에서 언급하겠다.

간단히 말하자면 hello라는 값이 있으며 타입은 string, 즉 문자열이라는 것이다.


var root = {
hello: () => {
return 'Hello world!';
},
};

root 값으로 hello 메소드를 선언한다. 출력은 Hello world를 출력하도록한다.


이제 준비는 끝났는데 실행해보자.



포트번호를 정하고 실행해도록 하자.


node bin/www


이제 시작을 해보자



그러면 이렇게 테스트 할 수 있는 경로로 연결된다.

테스트 해보자.



클라이언트 측에서 hello로 요청해보자.



그럼 결과가 위처럼 날라온다.

+ Recent posts