飞布产品手册
官网B站Github
V1.0
V1.0
  • 序言
  • 更新日志
  • 产品简介
    • 什么是飞布?
    • 飞布的价值
    • 飞布的优势
    • 应用场景
    • 数据安全
    • 产品案例
  • 快速入门
    • 初识飞布
    • 快速上手
      • 图文版
    • 词汇概览
    • 工作原理
  • 基础-可视化开发
    • 概览
      • CLI
      • 控制台
        • 主功能区
    • 数据源
      • 数据库
        • 数据库连接
          • 高级设置
        • 数据建模
        • 数据预览
      • REST 数据源
      • GraphQL 数据源
      • 消息队列
    • API构建
      • 可视化构建
        • API规范
      • 批量新建
      • HTTP请求流程指令
      • 使用API
      • 实时查询
      • 实时推送
      • 关联查询
      • 数据缓存
      • 常见用例
    • 身份验证
      • 授权码模式
        • 身份验证(废弃)
      • 隐式模式
      • 数据权限控制
    • 身份授权
      • RBAC
        • 授权与访问控制(废弃)
      • 接口权限控制
      • 开放API
    • 文件存储
      • S3配置及使用
      • 文件管理面板
      • 高级配置:profile
  • 进阶-钩子机制
    • 钩子概览
    • 启动钩子
      • Node钩子
      • Golang钩子
      • Python钩子
      • Java钩子
    • OPERATION钩子
    • 身份验证钩子
    • graphql钩子
    • 函数钩子
      • functions(废弃)
      • proxys(废弃)
    • 文件上传钩子
    • 内部调用
  • 使用-部署上线
    • 部署运维
      • 手动部署
        • 流水线部署(废弃)
      • Docker部署
      • 飞布云
    • 接口安全
      • CSRF token 保护
      • 跨域访问
    • 客户端SDK
      • 微信小程序SDK
      • Flutter SDK
      • uniapp SDK
  • 环境准备
    • 文件存储 S3
    • 身份认证 OIDC
    • NodeJs环境
  • 实战案例
    • Fireboom Admin
      • 管理后台-refine(废弃)
    • 实时TODO LIST
    • 语音版ChatGPT
    • AI魔法师实战
    • 阿里低代码引擎
  • 路线图
  • 常见问题
  • 核心概念
    • GraphQL
    • 超图
    • 请求时序图
    • 服务端Operation
  • 二次开发
    • 钩子规范
      • 钩子规范bak
    • 模板规范
    • 自定义模板
    • 其它参考
由 GitBook 提供支持
在本页
  • 单数据源
  • 多数据源(并行)
  • 多数据源(串行-跨源关联)

这有帮助吗?

在GitHub上编辑
  1. 核心概念

请求时序图

上一页超图下一页服务端Operation

最后更新于1年前

这有帮助吗?

单数据源

0 定义接口

query MyQuery($id: Int = 1) {
  todo_findUniqueTodo(where: {id: $id}) {
    completed
    createdAt
    id
    title
  }
}

1-2飞布启动时

9-10飞布关闭时

3 请求

curl 'http://localhost:9991/operations/Single?id=1'

4 findUniqueTodo

query MyQuery {
  findUniqueTodo(where: { id: 1 }) {
    completed
    createdAt
    id
    title
  }
}

5 SQL req

SELECT `completed`,`createdAt`,`id`,`title` FROM Todo WHERE id=1

6 SQL res

7 Query res(json)

{
  "data": {
    "findUniqueTodo": {
      "completed": false,
      "createdAt": "2022-12-31T16:00:01.000Z",
      "id": 1,
      "title": "This is Fireboom"
    }
  }
}

8 响应

{
    "todo_findUniqueTodo": {
        "completed": true,
        "createdAt": "2022-12-31T16:00:01.000Z",
        "id": 1,
        "title": "Hello world"
    }
}

多数据源(并行)

0 定义接口

query MyQuery($id: Int = 1) {
  todo_findUniqueTodo(where: { id: $id }) {
    completed
    createdAt
    id
    title
  }
  system_getAllRoles {
    code
    remark
  }
} 

6 getAllRoles req

curl 'http://localhost:9123/api/v1/role/all'

7 getAllRoles res

[
  { "code": "admin", "remark": "" },
  { "code": "user", "remark": "" }
]

8 响应

{
    "todo_findUniqueTodo": {
        "completed": true,
        "createdAt": "2022-12-31T16:00:01.000Z",
        "id": 1,
        "title": "Hello world"
    },
    "system_getAllRoles": [
        {
            "code": "admin",
            "remark": ""
        },
        {
            "code": "user",
            "remark": ""
        }
    ]
}

多数据源(串行-跨源关联)

最后,我们介绍下跨源特性,看下它的时序图。

跨源关联本质上是一种流程编排,将通常情况下并行的请求,改造成串行。

即先执行第一个接口,然后将第一个接口的返回结果作为入参传递给第二个接口。

详情请查看 关联查询

Fireboom单数据源请求时序图
Fireboom多数据源请求时序图