npm 包 graphql-apollo-errors 使用教程

阅读时长 7 分钟读完

前言

在前端开发中,GraphQL 是一个非常流行的 API 查询语言。可以通过 GraphQL 查询语言来获取所需的数据。程序员可以通过一个简单而强大的 API 进行数据查询,GraphQL API 可以轻松地访问多种前端设备、移动设备、服务器端和 Web 应用程序。在 GraphQL 的 API 接口中,往往会出现各种错误信息,如何有效的处理这些错误信息,使得我们前端开发更加顺畅,这就需要一个合适的 npm 包来进行处理。graphql-apollo-errors 是一个专门用于 GraphQL API 接口错误信息的 npm 包,可以有效的处理各种错误信息。

安装 graphql-apollo-errors

使用 npm 安装 graphql-apollo-errors。

安装完成后,需要在 Apollo 客户端中添加插件。

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

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

使用 graphql-apollo-errors

graphql-apollo-errors 对于解析器错误和验证错误提供了内置的错误处理。对于其他类型的错误,可能需要一些自定义代码。

内置的错误处理

以下是 graphql-apollo-errors 的内置错误处理。

解析器错误

在解析查询时发生错误。

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

如果要让这些错误更友好地呈现,则可以向 formatError 传递一个 ApolloError 对象。

这将把解析器错误转换为 GRAPHQL_PARSE_FAILED 错误。可以使用 Apollo 客户端的 onError 回调来检查这些新错误。

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

在客户端控制台中,应该看到以下输出。

验证错误

GraphQL 查询没有通过验证时发生的错误。

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

如果要让这些验证错误更友好地出现,则可以使用以下代码。

这会将验证错误转换为 GRAPHQL_VALIDATION_FAILED 错误,并添加 validationErrors 属性。可以使用 Apollo 客户端的 onError 回调来检查这些新错误。

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

可以在控制台中看到以下输出。

自定义错误处理

可以使用 formatError 函数来自定义错误处理。以下是一个示例代码。

结论

graphql-apollo-errors 是一个非常强大的 npm 包,可以有效的处理 GraphQL API 接口中的错误信息。在使用此包的过程中,需要了解其内置的错误类型以及如何自定义错误处理。对于应用程序开发人员来说,这是一个非常有用的 npm 包,可以使 GraphQL API 接口的开发变得更加顺畅。

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

纠错
反馈