客户端SDK
飞布以开发者体验优先,为提升开发者procode的效率,根据模板实时生成各语言的SDK,且支持用户自行扩展。
飞布的SDK包含两种类型:服务端钩子SDK和客户端SDK。
服务端钩子SDK:生成的代码运行在服务端上,主要用途是钩子开发,详情见 钩子概览
客户端SDK:生成调用REST API的客户端SDK,主要运行在浏览器中
安装客户端SDK
安装客户端SDK和安装钩子类似。
在状态栏中有一项叫做“客户端模板”,默认为0。点击后,可打开模板页,默认为空。点击右上角“浏览模板市场”,打开模板下载页,选择客户端模板。
我们以ts-client客户端模板为例。
1,在模板下载页,选择 ts-client ,点击下载
1.1 Fireboom将从下述仓库中下载模板:
不同Fireboom版本,下载模板的分支不同!
1.2 下载后,将在 template 目录下增加ts-client 目录
其生成规则和 钩子SDK 一致,详情参考 安装钩子
2,在模板页修改“生成路径”,并开启开关
3,后续每次触发“编译”,都会重新生成文件(非.hbs文件,只生成1次)
4,在客户端引入该SDK即可使用
使用SDK
ts-client是Fireboom HTTP协议在TypeScript中的基本实现,可以在浏览器和服务器环境中使用。它被用作Web客户端实现的基本接口。
引用SDK
配置基本请求头
在index.ts文件中增加baseURL配置,自定义访问域名。
Nodejs支持
使用customFetch配置选项,在没有内置fetch实现的服务器环境中使用SDK。
安装node-fetch:
并将其添加到SDK配置中。
自定义请求头
查询和变更
查询
变更
实时
实时查询
订阅
订阅一次
使用subscribeOnce运行订阅,这将直接返回订阅响应,而不会推流。适用于SSR场景。
文件上传
身份验证
身份认证包含两种模式:授权码模式(基于cookie)和隐式模式(基于token)。
授权码模式
登录
获取用户
退出登录
隐式模式
获取Token
隐式模式登录的核心是获取access_token,有两种模式:使用OIDC登录页和不使用登录页。
一般不使用OIDC的登录页,而是根据各供应商的实现,调用其登录接口获取access_token,例如:
使用Token
CSRF保护
// todo
中断请求
如果要中断请求,请使用AbortController实例。
错误处理
OPERATION API错误分为3类:InputValidationError、GraphQLResponseError、ResponseError。
详情见,AI规范-> 状态码
InputValidationError
状态码为400时,表示入参校验错误,入参不符合规范,或不满足@jsonSchema指令校验规则。
GraphQLResponseError
状态码为200,但执行OPERATION失败,常见错误场景如下:
1,数据源中断
2,主键冲突
ResponseError
状态码非200时的其他错误场景,例如:
404:接口临时关闭时,请求不存在
503:服务不可用时
用例
参考
最后更新于
这有帮助吗?