返回

在Node.js中使用Apollo Server创建GraphQL API服务

前端

GraphQL是一个用于API查询语言,它允许客户端仅请求所需的数据。这意味着更快的性能和更少的网络流量。

Apollo Server是一个用于Node.js的GraphQL服务器,它使您可以轻松地创建和管理GraphQL API服务。

在本文中,我们将介绍如何在Node.js中使用Apollo Server设置API服务。

先决条件

  • Node.js v8.10.0或更高版本
  • npm v6.1.0或更高版本
  • GraphQL模式
  • Apollo Server库

安装Apollo Server

首先,我们需要安装Apollo Server库。我们可以使用npm命令来做到这一点:

npm install apollo-server-express

创建GraphQL模式

Apollo Server需要一个GraphQL模式来定义我们的API。我们可以使用graphql-tools库来创建模式。

首先,我们需要安装graphql-tools库:

npm install graphql-tools

然后,我们可以创建一个GraphQL模式文件(例如schema.js):

// schema.js
const { makeExecutableSchema } = require('graphql-tools');

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

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

const schema = makeExecutableSchema({
  typeDefs,
  resolvers
});

module.exports = schema;

创建Apollo Server实例

现在我们已经有了GraphQL模式,我们可以创建一个Apollo Server实例。

首先,我们需要导入ApolloServer类:

const { ApolloServer } = require('apollo-server-express');

然后,我们可以创建一个Apollo Server实例:

const server = new ApolloServer({
  schema
});

启动Apollo Server

最后,我们需要启动Apollo Server。我们可以使用listen方法来做到这一点:

server.listen().then(({ url }) => {
  console.log(`🚀 Server ready at ${url}`);
});

现在,我们的Apollo Server API服务正在运行!

尝试我们的API

我们可以使用GraphiQL工具来尝试我们的API。GraphiQL是一个交互式GraphQL客户端,它允许我们发送查询并查看结果。

我们可以通过访问http://localhost:4000/graphql来访问GraphiQL工具。

在GraphiQL工具中,我们可以输入以下查询:

{
  hello
}

然后,我们点击“播放”按钮来发送查询。

如果一切顺利,我们将看到以下结果:

{
  "data": {
    "hello": "Hello, world!"
  }
}

这表明我们的API正在按预期工作!

结论

在本文中,我们介绍了如何在Node.js中使用Apollo Server设置API服务。我们从安装Apollo Server库开始,然后创建了一个GraphQL模式和Apollo Server实例。最后,我们启动了Apollo Server并尝试了我们的API。

希望本文对您有所帮助!