npm 包 @aaa-backend-stack/graphql-rest-bindings 使用教程

阅读时长 5 分钟读完

前言

在前端开发中,有时候我们需要从多种不同的后端服务中获取数据,每个后端服务都可能使用不同的 API,这样会使得前端开发变得复杂。但是,GraphQL-rest-bindings 可以让我们使用 GraphQL 来调用 RESTful API,简化前端开发流程。

什么是 @aaa-backend-stack/graphql-rest-bindings?

@aaa-backend-stack/graphql-rest-bindings 是一个可以将 RESTful API 包装成 GraphQL API 的 npm 包。通过它,我们可以在 GraphQL 中调用 RESTful API,具有很好的可用性和可扩展性。

如何安装和配置 @aaa-backend-stack/graphql-rest-bindings?

首先,我们需要安装 npm 包 @aaa-backend-stack/graphql-rest-bindings。我们可以打开命令行,切换到项目的根目录,然后运行如下命令:

安装完成之后,我们需要在 GraphQL schema 中定义所有的查询(query)和变量(mutation)。

举个例子,我们有一个 RESTful API,它可以获取最新的文章列表。我们可以先定义一个 GraphQL Type:

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

然后,我们可以定义一个查询(query):

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

最后,我们需要在 GraphQL schema 中添加这个查询:

现在,我们已经在 GraphQL 中成功调用了一个 RESTful API。

如何使用 @aaa-backend-stack/graphql-rest-bindings?

使用 @aaa-backend-stack/graphql-rest-bindings 很简单。在定义 Type 和查询时,我们只需要在 Type 或者查询的 resolver 中使用 bindREST API,就可以将 RESTful API 包装成 GraphQL API。

举个例子,我们有一个 RESTful API,它可以创建一个新用户。我们可以使用如下方式将它包装成 GraphQL API:

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

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

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

这样,我们就在 GraphQL 中成功调用了一个 RESTful API,实现了注册用户的功能。

总结

@aaa-backend-stack/graphql-rest-bindings 是一个很好的 npm 包,可以让我们使用 GraphQL 中调用 RESTful API 更加简单,并且具有很好的可用性和可扩展性。在实际开发中,我们可以使用它来调用各种不同的后端服务,提高开发效率,同时也让我们的代码更加简洁易懂。

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