npm 包 @8base/api-client 使用教程

阅读时长 5 分钟读完

简介

@8base/api-client 是一个简单易用的 JavaScript 包,用于与 8base API 进行交互。该包继承并扩展了 axios,因此可以执行所有标准的 http 请求类型。同时,它也内置了 8base Auth0 token 获取和管理功能,让你可以轻松地重用已登录的用户令牌。

安装

在使用该包之前,需要先安装它:

如果你使用 yarn,则可以这样安装:

使用

一旦你安装了 @8base/api-client,你就可以将它导入到你的项目中,并创建一个实例来与 8base API 进行交互。

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

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

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

此处:<8base-api-endpoint> 是指你的 8base API 站点的 URL,例如:https://api.8base.com/your-workspace-name

<http-request> 则是指你要发送的 HTTP 请求。根据 8base API 文档的描述,你需要在请求路径前加上 /api/<version>,其中 <version> 是你请求的 API 版本,通常是 v1。例如,要获取所有用户的列表,你需要这样发起请求:

注意:如果你没有登录或者没有正确的权限,该请求将会被拒绝。

配置

在创建 EightBaseApi 实例时,你可以传递一个包含配置项的对象参数,用来自定义你的 API 客户端行为。目前支持的选项包括:

uri

API 终端的 URL。 例如:https://api.8base.com/**workspace-name**

headers

请求头部信息。例如:

token

授权令牌。如果你提供了授权令牌,将会在请求中包含该令牌。例如:

同时,你也可以使用 setToken 方法来设置令牌:

interceptors

拦截器。如果你想自定义请求和响应拦截器,你可以在 EightBaseApi 实例中添加:

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

注意:请勿在拦截器中阻塞这个请求。如果你希望对请求进行阻塞,则请考虑使用 async 函数。

Auth0

对于使用 Auth0 进行身份验证的 API,@8base/api-client 提供了一些简化开发的额外功能,包括:

  • 从 Auth0 获取授权令牌
-- -------------------- ---- -------
-----------------------
  ----- -- -
    ---------------- ------ -----------
    --------------------------------
    ------------------------------------------- -- -
      ---------------------------
    ---
  --
  ----- -- ------------------- -- ----- -----------
--
  • 获取当前授权令牌

示例代码

下面是一个完整的示例代码,它展示了如何使用 @8base/api-client 从 8base API 中获取用户的列表,并在控制台中输出。

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

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

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

总结

在本文中,我们介绍了如何安装、配置和使用 @8base/api-client 包,以及它如何帮助我们更方便地与 8base API 进行交互。在实际开发中,该包可以帮助我们节省大量的时间和精力,使得我们的代码更加简洁、易读和易维护。希望本文对你有所帮助!

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