GraphQL入门之使用ApolloServer构建GraphQ

2024-03-12  本文已影响0人  kongxx

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

创建 Node.js 的工程

mkdir myapp
cd myapp
npm init (一路回车)

安装依赖包

npm install @apollo/server graphql

定义 Schema

const typeDefs = `
  type Query {
    hello: String
  }
`;

定义解析器

const resolvers = {
  Query: {
    hello: () => 'Hello world!',
  },
};

创建ApolloServer

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

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

启动ApolloServer

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

服务完整代码

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

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}`);
});

测试

启动服务

node server.js

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

query {
  hello
}

可以看到下面的查询结果

{
  "data": {
    "hello": "Hello world!"
  }
}
上一篇下一篇

猜你喜欢

热点阅读