使用 Express.js 和 GraphQL 创建 API 的完整教程

阅读时长 6 分钟读完

前言

在现代 Web 开发中,API 是一个非常重要的组成部分。API 可以将前端与后端分离,并提供更好的可维护性和可扩展性。Express.js 是一个流行的 Web 框架,而 GraphQL 是一种用于构建 API 的查询语言。在本教程中,我们将使用 Express.js 和 GraphQL 创建一个完整的 API。

步骤

步骤 1:创建项目

首先,我们需要创建一个新的项目。在命令行中输入以下命令:

然后,我们需要安装必要的依赖项。在命令行中输入以下命令:

步骤 2:创建服务器

接下来,我们需要创建一个服务器。在 index.js 文件中输入以下内容:

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

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

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

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

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

此代码将创建一个简单的 GraphQL API,它只有一个查询 hello,返回字符串 "Hello world!"

步骤 3:运行服务器

现在,我们可以运行服务器。在命令行中输入以下命令:

然后,访问 http://localhost:4000/graphql,我们应该可以看到一个交互式的 GraphQL IDE。

步骤 4:添加更多查询

接下来,我们将添加更多的查询。在 index.js 文件中添加以下代码:

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

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

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

此代码将添加两个新的查询 goodbyepersonperson 查询需要一个 id 参数,并返回一个 Person 对象。

步骤 5:使用数据源

现在,我们将使用数据源来获取 Person 对象。在 index.js 文件中添加以下代码:

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

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

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

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

此代码将使用一个数组 data 作为数据源,并更新 person 查询以从数据源中获取 Person 对象。

步骤 6:添加变更

最后,我们将添加变更。在 index.js 文件中添加以下代码:

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

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

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

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

此代码将添加一个变更 addPerson,它需要 nameage 参数,并将添加一个新的 Person 对象到数据源中。

步骤 7:测试 API

现在,我们可以测试我们的 API。在 GraphQL IDE 中输入以下查询:

然后,输入以下变更:

我们应该能够看到查询和变更的结果。

结论

在本教程中,我们使用 Express.js 和 GraphQL 创建了一个完整的 API。我们学习了如何创建服务器、添加查询和变更,并使用数据源来获取数据。这个教程应该能够帮助你开始构建自己的 API,并提供更好的可维护性和可扩展性。

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

纠错
反馈