GraphQL开发服务器 - 抢先体验

GraphQL是一种新的数据查询语言,它在API的实现中提供了更加高效、强大的查询方式。GraphQL在前后端分离架构的应用中显得尤为重要。在本文中,我们将介绍GraphQL开发服务器,帮助您了解如何使用该工具来加速应用程序的开发和测试。

安装与配置

要使用GraphQL开发服务器,您需要安装以下三个软件:

  • Node.js:GraphQL是一种JavaScript库,因此您需要在计算机上安装最新版本的Node.js。
  • GraphQL:使用npm安装GraphQL库
  • GraphQL开发服务器:使用npm安装GraphQL开发服务器

我们将从安装Node.js开始。打开终端并输入以下命令:

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

接下来,我们需要安装GraphQL。输入以下命令并等待几分钟安装:

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

现在我们可以安装GraphQL开发服务器。输入以下命令并等待安装完成:

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

GraphQL开发服务器现已安装成功!

配置GraphQL开发服务器

要在Node.js中启动GraphQL开发服务器,您需要创建一个新的JavaScript文件。为了简化文件,我们使用Express框架。打开您最喜欢的文本编辑器并创建一个新的JavaScript文件,然后将以下代码复制并粘贴到新文件中。

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

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

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

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

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

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

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

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

这段代码定义了一个GraphQL服务器,它仅包含一个简单的“hello”查询。您可以通过向GraphQL服务器发送查询来测试该服务器,如下所示:

-
  -----
-

您将得到以下结果:

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

此时,GraphQL开发服务器已经运行起来。您已经越过了GraphQL开发服务器设置的第一道关键步骤。

使用GraphQL开发服务器

现在我们可以使用GraphQL开发服务器来创建、测试和维护GraphQL查询。让我们看一个更复杂的示例,其中包含了几个范围内的查询。

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

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

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

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

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

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

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

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

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

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

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

这个例子包含两个查询:moviesmovie。您可以使用movies查询获取电影列表,并使用movie查询获取电影的详细信息。

使用以下查询获取所有电影:

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

您将得到以下结果:

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

下面是使用movie查询获取单个电影的示例:

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

您将得到以下结果:

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

现在您已经学会了使用GraphQL开发服务器创建和测试查询。

结论

GraphQL是API设计的未来,充分利用GraphQL提供的优势可以大大改善应用程序的查询性能和开发速度。使用GraphQL开发服务器可以轻松处理将GraphQL集成到应用程序中的复杂问题,大大简化开发、测试和维护过程。我们希望通过本文,可以帮助您成功抢先体验GraphQL开发服务器并将它用于您的应用程序中。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670c629766ef9cf37fb09c91