前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GraphQL入门之使用ApolloServer构建GraphQL服务

GraphQL入门之使用ApolloServer构建GraphQL服务

作者头像
kongxx
发布2024-03-14 08:17:26
770
发布2024-03-14 08:17:26
举报

接上一篇文章,上一篇通过 express 作为 GraphQL Server 介绍了一下 GraphQL,今天说一下如何使用 Apollo Server 作为 GraphQL服务器。

创建 Node.js 的工程

代码语言:javascript
复制
mkdir myapp
cd myapp
npm init (一路回车)

安装依赖包

代码语言:javascript
复制
npm install @apollo/server graphql

定义 Schema

代码语言:javascript
复制
const typeDefs = `
  type Query {
    hello: String
  }
`;

定义解析器

代码语言:javascript
复制
const resolvers = {
  Query: {
    hello: () => 'Hello world!',
  },
};

创建ApolloServer

使用上面定义的 schema 和 resolver 创建 ApolloServer

代码语言:javascript
复制
const server = new ApolloServer({
  typeDefs,
  resolvers,
});

启动ApolloServer

代码语言:javascript
复制
startStandaloneServer(server).then(function(data) {
  console.log(`🚀 Server ready at ${data.url}`);
});

服务完整代码

在工程下创建 server.js,完整代码内容如下:

代码语言:javascript
复制
const { ApolloServer } =  require('@apollo/server');
const { startStandaloneServer } = require('@apollo/server/standalone');

// The GraphQL schema
const typeDefs = `
  type Query {
    hello: String
  }
`;

// A map of functions which return data for the schema.
const resolvers = {
  Query: {
    hello: () => 'Hello world!',
  },
};

const server = new ApolloServer({
  typeDefs,
  resolvers,
});

startStandaloneServer(server).then(function(data) {
  console.log(`🚀 Server ready at ${data.url}`);
});

测试

启动服务

代码语言:javascript
复制
node server.js

使用浏览器访问 http://localhost:4000/,可以看到 Apollo Server 的 IDE 的界面,输入

代码语言:javascript
复制
query {
  hello
}

可以看到下面的查询结果

代码语言:javascript
复制
{
  "data": {
    "hello": "Hello world!"
  }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建 Node.js 的工程
  • 安装依赖包
  • 定义 Schema
  • 定义解析器
  • 创建ApolloServer
  • 启动ApolloServer
  • 服务完整代码
  • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档