Apollo 服务器安装

17 Mar 2025 | 4 分钟阅读

GraphQL 服务器用于在端点接受传入请求、解释请求并检索满足客户端需求所需的数据。

有许多针对多种编程语言的不同 GraphQL 服务器实现。 Apollo 服务器就是其中之一。

什么是 Apollo 服务器?

Apollo 服务器是一个符合规范的开源 GraphQL 服务器实现,适用于JavaScript(尤其是 Node.js 平台)。 它与任何 GraphQL 客户端兼容,包括 Apollo 客户端。 Apollo 服务器提供了构建可用于从任何来源检索数据的生产就绪型、自文档化 GraphQL API 的最佳环境。

GraphQL Apollo Server Installation

Apollo 服务器支持以下流行的 Node.js 框架

  • Express
  • Hapi
  • Koa
  • Restify 等。

Apollo 服务器的用法

  • Apollo 服务器提供了一种使用模式来描述我们的数据的方法。
  • Apollo 服务器提供了解析器(解析器是用于编写获取数据以满足客户端请求的函数)的框架。
  • Apollo 服务器有助于处理我们 API 的身份验证。

Apollo 服务器入门

让我们为 GraphQL 项目安装和配置 Apollo 服务器。 在这里,我们将学习

  • 对 GraphQL 原理的基本理解
  • 如何定义代表您数据集结构的 GraphQL 模式
  • 运行 Apollo 服务器,方便您针对您的模式执行查询。

前提条件

  • 在进一步操作之前,您必须熟悉命令行和 JavaScript。
  • 必须安装最新版本的 Node.js (8+)

请按照以下步骤操作

步骤 1:创建一个新项目

打开 Node.js 命令提示符并为新项目“apollo-server-example”创建一个目录,然后使用命令提示符导航到该文件夹。


GraphQL Apollo Server Installation

使用以下命令在您的项目目录中创建一个 package.json 文件


GraphQL Apollo Server Installation

现在您的项目目录包含 package.json 文件。

步骤 2:安装依赖项

Apollo 服务器的应用程序需要两个顶层依赖项

  • apollo-server:它是 Apollo 服务器的核心库,方便我们定义数据的形状并告诉我们如何获取它。
  • graphql:此库用于构建 GraphQL 模式并对其执行查询。

运行以下命令以在您的项目文件夹中安装上述两个依赖项。


GraphQL Apollo Server Installation

现在,在您的项目的根目录中创建一个名为 server.js 的空文件

步骤 3:定义 GraphQL 模式

我们需要在每个 GraphQL 服务器(包括 Apollo 服务器)中定义一个 模式。 模式定义了客户端查询的数据结构。

在这里,我们将创建一个服务器,用于按名称和所有者查询公司列表。

在编辑器中打开 server.js 文件并粘贴以下代码

步骤 4:定义您的数据集

上面,我们定义了数据的结构。 现在,我们必须定义数据本身。 Apollo 服务器可以从任何已连接的来源获取数据,例如数据库、REST API、静态对象存储服务,甚至另一个 GraphQL 服务器。

将以下代码粘贴到 server.js 的底部

步骤 5:定义解析器

我们已经定义了我们的数据集。 现在,我们必须创建一个解析器,以便让 Apollo 服务器知道在执行查询时使用此数据集。

解析器用于告诉 Apollo 服务器如何获取与特定类型关联的数据。

打开 server.js 文件并将以下代码粘贴到底部

步骤 6:创建 ApolloServer 实例

我们已经定义了我们的模式、数据集和解析器。 现在,当初始化 Apollo 服务器时,我们必须向它提供这些信息。

现在,将以下代码粘贴到 server.js: 的底部

现在,完整的 server.js 文件将如下所示

步骤 7:启动 Apollo 服务器

我们的服务器已准备好启动。 现在,运行以下命令启动服务器


GraphQL Apollo Server Installation

您可以看到服务器已启动。

步骤 8:执行我们的第一个查询

我们已准备好在 Apollo 服务器上执行我们的第一个 GraphQL 查询。 在这里,我们将使用一个名为 GraphQL Playground 的工具。

转到浏览器上的以下本地主机 URL 以运行 GraphQL Playground

https://:4000

(当服务器启动时,Apollo 服务器会自动在本地主机上托管 GraphQL Playground。)

GraphQL Apollo Server Installation

使用以下 GraphQL 查询字符串执行公司查询

输出

{
  "data": {
    "companies": [
      {
        "name": "Infosys",
        "owner": "N.R Narayan Murthy"
      },
      {
        "name": "Wipro",
        "owner": "Mohamed Hasham Premji"
      },
      {
        "name": "Reliance Industries",
        "owner": "Dhirubhai Ambani"
      },
      {
        "name": "Bajaj Auto",
        "owner": "Jamnalal Bajaj"
      }
    ]
  }
}

GraphQL Apollo Server Installation
下一话题GraphQL 面试