Express 및 Apollo 서버로 GraphQL 서버 만들기
3498 단어 javascriptwebdevgraphqlnode
지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.
Apollo Server는 노드 패키지로 제공됩니다. 이를 사용하여 GraphQL 요청을 수락하는 서버를 만들 수 있습니다.
이 기사에서는 Express와 함께 사용하여 자체 GraphQL 서버를 만드는 방법을 살펴보겠습니다.
Apollo 서버 시작하기
express-apollo-server
를 설치하여 시작합니다.
Express와 함께 설치하려면 다음을 실행합니다.
npm install apollo-server-express express
그런 다음 index.js
파일을 만들고 다음을 추가합니다.
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
const books = [
{
title: 'JavaScript for Dummies',
author: 'Jane Smith',
},
{
title: 'JavaScript Book',
author: 'Michael Smith',
},
];
const typeDefs = gql`
type Book {
title: String
author: String
} type Query {
books: [Book]
}
`;
const resolvers = {
Query: {
books: () => books,
},
};
const app = express();
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });
app.listen(3000, () => console.log('server started'));
위의 코드에서 books
배열에 데이터를 생성하여 기본 Apollo GraphQL 서버를 생성했습니다.
그런 다음 전달된 스키마 정의 문자열과 함께 gql
태그를 사용하여 스키마를 생성하고 이를 typedefs
상수에 할당했습니다.
쿼리 유형은 항상 필요하므로 서버에서 데이터를 쿼리할 수 있습니다. 서버가 없으면 실행되지 않습니다.
Book
및 title
필드가 있는 author
유형을 만들었습니다. 그런 다음 books
의 배열을 반환하는 Book
쿼리를 만들었습니다.
다음으로 생성한 데이터를 쿼리할 수 있도록 resolvers
를 생성했습니다. books
배열을 반환하기 위해 books
확인을 방금 만들었습니다.
마지막으로 서버를 로드하기 위한 다음 초기화 코드가 있습니다.
const app = express();
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });app.listen(3000, () => console.log('server started'));
그런 다음 브라우저에서 /graphql
로 이동하면 쿼리를 테스트하기 위한 UI가 표시됩니다.
서버를 실행하려면 다음을 실행합니다.
node index.js
다음을 실행하여 서버를 테스트할 수 있습니다.
{
books {
title
author
}
}
그런 다음 가운데에 있는 화살표 버튼을 클릭하면 다음과 같이 표시됩니다.
{
"data": {
"books": [
{
"title": "JavaScript for Dummies",
"author": "Jane Smith"
},
{
"title": "JavaScript Book",
"author": "Michael Smith"
}
]
}
}
응답으로.
결론
express
및 express-apollo-server
패키지를 설치하여 Express로 간단한 Apollo GraphQL 서버를 만들었습니다.
그런 다음 유형 정의가 있는 문자열을 gql
태그에 전달하여 유형 정의를 생성했습니다.
그렇게 한 후에는 쿼리에서 매핑된 응답을 반환하는 리졸버를 만들었습니다.
그런 다음 서버를 실행하여 쿼리를 만들고 데이터를 반환합니다. Express Apollo 서버와 함께 제공되는 /graphql
페이지로 이동하여 테스트할 수 있습니다.
Reference
이 문제에 관하여(Express 및 Apollo 서버로 GraphQL 서버 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/aumayeung/creating-a-graphql-server-with-express-and-apollo-server-5c0b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npm install apollo-server-express express
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
const books = [
{
title: 'JavaScript for Dummies',
author: 'Jane Smith',
},
{
title: 'JavaScript Book',
author: 'Michael Smith',
},
];
const typeDefs = gql`
type Book {
title: String
author: String
} type Query {
books: [Book]
}
`;
const resolvers = {
Query: {
books: () => books,
},
};
const app = express();
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });
app.listen(3000, () => console.log('server started'));
const app = express();
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });app.listen(3000, () => console.log('server started'));
node index.js
{
books {
title
author
}
}
{
"data": {
"books": [
{
"title": "JavaScript for Dummies",
"author": "Jane Smith"
},
{
"title": "JavaScript Book",
"author": "Michael Smith"
}
]
}
}
express
및 express-apollo-server
패키지를 설치하여 Express로 간단한 Apollo GraphQL 서버를 만들었습니다.그런 다음 유형 정의가 있는 문자열을
gql
태그에 전달하여 유형 정의를 생성했습니다.그렇게 한 후에는 쿼리에서 매핑된 응답을 반환하는 리졸버를 만들었습니다.
그런 다음 서버를 실행하여 쿼리를 만들고 데이터를 반환합니다. Express Apollo 서버와 함께 제공되는
/graphql
페이지로 이동하여 테스트할 수 있습니다.
Reference
이 문제에 관하여(Express 및 Apollo 서버로 GraphQL 서버 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/creating-a-graphql-server-with-express-and-apollo-server-5c0b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)