如何使用 Express.js 实现 GraphQL API 接口

阅读时长 5 分钟读完

GraphQL 是一种用于 API 的查询语言和运行时环境,由 Facebook 推出。相比传统 RESTful API,GraphQL 更加灵活高效,旨在解决 API 多版本、冗余数据、多网络请求等问题。在前端开发中,使用 GraphQL 可以大幅提升开发效率和用户体验。本文将介绍如何使用 Express.js 实现 GraphQL API 接口。

步骤一:安装依赖

首先,我们需要安装必要的依赖,包括 express、graphql、express-graphql、cors,可以使用 npm 或 yarn 进行安装。

步骤二:创建 Express 应用

接下来,我们需要创建一个 Express 应用。在项目根目录下,新建一个 index.js 文件,输入以下内容:

-- -------------------- ---- -------
----- ------- - -------------------
----- ------- - ---------------------------
----- ---- - ----------------

----- --- - ----------

----------------

---------------- -- -- -
  -------------------- --- --------
---

以上代码创建了一个 Express 应用,并在端口 4000 上启动了服务。同时,我们使用 cors 中间件来解决跨域问题。

步骤三:定义 GraphQL Schema

接下来,我们需要定义 GraphQL Schema,它描述了数据的结构和类型。我们使用 GraphQL 的 GraphQLSchema 类型来定义 Schema,需要传递两个参数:

  • query:包含查询操作的类型定义;
  • mutation:包含修改和删除操作的类型定义。

在这个示例中,我们只定义一个查询操作 hello,它返回一个字符串。

-- -------------------- ---- -------
----- ------- - -------------------

----- --------- - --- ---------------------------
  ----- --------
  ------- -- -- --
    ------ -
      ----- ----------------------
      -------- -- -- -
        ------ ------ --------
      --
    --
  ---
---

----- ------ - --- -----------------------
  ------ ----------
---

步骤四:集成 GraphQL 到 Express

接下来,我们将 GraphQL 集成到 Express 中。我们使用 express-graphql 中间件来处理客户端的 GraphQL 请求,传递了以下的参数:

  • schema:我们定义的 GraphQL Schema;
  • graphiql:是否启用 GraphiQL,“GraphQL IDE”,用于在浏览器中浏览和测试 GraphQL API。

步骤五:启动服务

最后,我们启动服务,并监听端口。

完整代码

-- -------------------- ---- -------
----- ------- - -------------------
----- ------- - -------------------
----- ------- - ---------------------------
----- ---- - ----------------

----- --- - ----------

----------------

----- --------- - --- ---------------------------
  ----- --------
  ------- -- -- --
    ------ -
      ----- ----------------------
      -------- -- -- -
        ------ ------ --------
      --
    --
  ---
---

----- ------ - --- -----------------------
  ------ ----------
---

--------
  -----------
  ---------
    -------
    --------- -----
  --
--

---------------- -- -- -
  -------------------- --- --------
---

总结

本文介绍了如何使用 Express.js 实现 GraphQL API 接口。使用 GraphQL 可以大幅提升开发效率和用户体验,我们在创建应用、定义 GraphQL Schema、集成 GraphQL 到 Express、启动服务等步骤中详细介绍了如何实现。希望这篇文章可以对你运用 GraphQL 技术有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6494143148841e989419cc8c

纠错
反馈