简介
@8base/api-client 是一个简单易用的 JavaScript 包,用于与 8base API 进行交互。该包继承并扩展了 axios,因此可以执行所有标准的 http 请求类型。同时,它也内置了 8base Auth0 token 获取和管理功能,让你可以轻松地重用已登录的用户令牌。
安装
在使用该包之前,需要先安装它:
npm install --save @8base/api-client
如果你使用 yarn,则可以这样安装:
yarn add @8base/api-client
使用
一旦你安装了 @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
。例如,要获取所有用户的列表,你需要这样发起请求:
api.request('/api/v1/users').then(response => { console.log(response.data); }).catch(error => { console.log(error); });
注意:如果你没有登录或者没有正确的权限,该请求将会被拒绝。
配置
在创建 EightBaseApi 实例时,你可以传递一个包含配置项的对象参数,用来自定义你的 API 客户端行为。目前支持的选项包括:
uri
API 终端的 URL。 例如:https://api.8base.com/**workspace-name**
const api = new EightBaseApi({ uri: 'https://api.8base.com/<workspace-name>', });
headers
请求头部信息。例如:
const api = new EightBaseApi({ headers: { Authorization: '<auth-token>', }, });
token
授权令牌。如果你提供了授权令牌,将会在请求中包含该令牌。例如:
const api = new EightBaseApi({ token: '<auth-token>', });
同时,你也可以使用 setToken 方法来设置令牌:
api.setToken('<auth-token>');
interceptors
拦截器。如果你想自定义请求和响应拦截器,你可以在 EightBaseApi 实例中添加:
-- -------------------- ---- ------- ----- --- - --- -------------- ------------- - -------- -------- -- - -------------------- ------------ -- -------- ------ ------- -- --------- ---------- -- - --------------------- ------------ -- ---------- ------ --------- -- -- ---
注意:请勿在拦截器中阻塞这个请求。如果你希望对请求进行阻塞,则请考虑使用 async 函数。
Auth0
对于使用 Auth0 进行身份验证的 API,@8base/api-client 提供了一些简化开发的额外功能,包括:
- 从 Auth0 获取授权令牌
-- -------------------- ---- ------- ----------------------- ----- -- - ---------------- ------ ----------- -------------------------------- ------------------------------------------- -- - --------------------------- --- -- ----- -- ------------------- -- ----- ----------- --
- 获取当前授权令牌
const token = api.getAuth0Token()
示例代码
下面是一个完整的示例代码,它展示了如何使用 @8base/api-client 从 8base API 中获取用户的列表,并在控制台中输出。
-- -------------------- ---- ------- ------ - ------------ - ---- -------------------- ----- --- - --- ------------------------------------- ------------------------------------------ -- - --------------------------- -------------- -- - ------------------- ---
总结
在本文中,我们介绍了如何安装、配置和使用 @8base/api-client 包,以及它如何帮助我们更方便地与 8base API 进行交互。在实际开发中,该包可以帮助我们节省大量的时间和精力,使得我们的代码更加简洁、易读和易维护。希望本文对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/114122