npm 包 graphql-type-json 使用教程

阅读时长 4 分钟读完

介绍

在 GraphQL 中,使用 JSON 数据类型时,通常需要转换为字符串传输。然而,这会导致数据格式变得不可读,而且在客户端解析 JSON 数据时必须进行额外的反序列化步骤。为了解决这个问题,我们可以使用 npm 包 graphql-type-json

graphql-type-json 是一个用于将 JavaScript 对象序列化成 GraphQL 中的 JSON 字符串的 npm 包。它是一个自定义标量类型,允许我们在 GraphQL 模式中直接使用 JSON 格式的数据类型。

安装

要使用 graphql-type-json,首先需要安装它:

使用

引入

需要将 GraphQLJSON 导入到你的代码中:

添加到 GraphQL Schema

我们需要将 GraphQLJSON 添加到 GraphQL schema 中:

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

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

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

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

现在,我们已经将 GraphQLJSON 添加到我们的 schema 中,并将其命名为 JSON

使用

现在我们可以在 GraphQL 查询和 mutation 定义中使用自定义标量类型 JSON

例如,以下是一个查询,它返回一个包含 JSON 数据的对象:

在 resolver 中,我们可以像处理任何其他类型一样处理 data 字段。

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

示例代码

以下是一个完整的例子:

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

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

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

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

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

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

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

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

结论

使用 npm 包 graphql-type-json,我们可以直接在 GraphQL schema 中使用 JSON 数据类型,而无需对其进行额外的序列化或反序列化。这使得我们的数据模型更加清晰,并且可以减少客户端和服务器之间的数据传输量。

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

纠错
反馈