本文通过一个API Provider > Database的集成示例介绍应用集成对API的处理能力。

前提条件

  • 在阿里云容器服务Kubernetes版上创建了Database服务,详细操作步骤请参见使用镜像快速创建无状态Deployment应用
  • 待处理的API文件(示例API文件)需要符合OpenAPI 2.0规范,且已经保存到本地。本文提供的示例文件为压缩格式,使用前请先解压。
  • 本地已安装Postman和MySQL客户端。

背景信息

在集成中导入API文件,自动生成5个子Flow。您可以按需创建5个完整的集成流,实现对API的增删改查。

自动生成的5个子Flow:
  • List all tasks
  • Create new task
  • Fetch task
  • Update task
  • Delete task

创建连接

本示例中会用到Database,所以需要借助连接器创建对应的连接。

创建Database连接,详情请参见创建连接

创建集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏选择集成 > 集成列表
  4. 集成列表页面选择工作空间,单击新建集成
  5. 创建集成页面选择从Api配置文件导入流,然后单击选择文件,从本地路径上传API文件。
  6. API文件上传完成后,单击点击进行文件校验
    文件校验完成后,会展示Api名Api描述Api数量信息。文件校验结果
  7. 创建集成页面单击创建
    创建集成后,进入集成设计页面。示例API文件上传后自动生成5个子Flow,每个子Flow的首节点和尾节点已经自动生成,需要为每个子Flow创建完整的集成流,才可以实现对API的增删改查。集成设计-5个子flow
  8. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建List all tasks集成流

  1. 集成设计页面工作空间列表中选择目标工作空间。
  2. 在左侧导航栏选择集成元素 > 集成流 > List all tasks
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    1. 选择组件类型对话框单击Connection,然后单击之前新建的Database连接。
    2. 选择operation对话框中Invoke SQL右侧,单击选择
    3. 步骤配置对话框设置SQL语句,然后单击确定设置SQL语句
      SQL语句设置为select * from task。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Source > 2-SQL Result > Document RootTarget > 3-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示:
      Source目录 Source字段 Target字段(body目录)
      Source > 2-SQL Result > Document Root completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    List all task集成流创建完成。第一个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Create new task集成流

  1. 集成设计页面工作空间列表中选择目标工作空间。
  2. 在左侧导航栏选择集成元素 > 集成流 > Create new task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Connection,然后单击之前新建的Database连接。
    3. 选择operation对话框中Invoke SQL右侧,单击选择
    4. 步骤配置对话框设置SQL语句,然后单击确定设置SQL语句
      SQL语句设置为insert into task values (:#id, :#task, :#completed)。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Source > 1-Request > bodyTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下:
      Source目录 Source字段 Target字段(2-SQL Parameter目录)
      Source > 1-Request > body completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中创建第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Sources > 2-SQL ParameterSources > 3-SQL Result > Document RootTarget > 4-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下:
      Sources目录 Sources字段 Target字段(body路径)
      Sources > 2-SQL Parameter completed completed
      id 无映射字段
      task task
      Sources > 3-SQL Result > Document Root id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Create new task集成流创建完成。第二个集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Fetch task集成流

  1. 集成设计页面工作空间列表中选择目标工作空间。
  2. 在左侧导航栏选择集成元素 > 集成流 > Fetch task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Connection,然后单击之前新建的Database连接。
    3. 选择operation对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,单击找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为select * from task where id = :#id。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Source > 1-Request > ParametersTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中添加第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Sources > 3-SQL Result > Document RootTarget > 4-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示:
      Sources目录 Sources字段 Target字段(body目录)
      Sources > 3-SQL Result > Document Root completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框选中是否在主体中包含错误信息返回码保持默认值,然后单击确定
  7. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Fetch task集成流创建完成。第三个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Update task集成流

  1. 集成设计页面工作空间列表中选择目标工作空间。
  2. 在左侧导航栏选择集成元素 > 集成流 > Update task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Connection,然后单击之前新建的Database连接。
    3. 选择operation对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,单击找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为update task set completed = :#completed where id = :#id。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Source > 1-Request > bodySource > 1-Request > ParametersTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示:
      Source目录 Source字段 Target字段(2-SQL Parameter目录)
      Source > 1-Request > body completed completed
      id 无映射字段
      task 无映射字段
      Source > 1-Request > Parameters id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中添加第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Sources > 2-SQL ParameterTarget > 4-Response > body之间进行字段映射,然后单击确认字段映射
      字段对应关系如所示:
      Sources目录 Sources字段 Target字段(body目录)
      Sources > 2-SQL Parameter completed completed
      id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框选中是否在主体中包含错误信息返回码保持默认值,然后单击确定
  7. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Update task集成流创建完成。第四个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Delete task集成流

  1. 集成设计页面工作空间列表中选择目标工作空间。
  2. 在左侧导航栏选择集成元素 > 集成流 > Delete task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Connection,然后单击之前新建的Database连接。
    3. 选择operation对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,单击找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为delete from task where id = :#id。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击Logic,然后单击Data Mapper
    3. Source > 1-Request > parametersTarget > 2-SQL Parameter之间进行字段映射,然后单击确认字段映射
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框选中是否在主体中包含错误信息返回码保持默认值,然后单击确定
  6. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Delete task集成流创建完成。第五个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

集成创建并保存后,需要对集成进行部署。详情请参见部署集成示例

结果验证

  1. 验证List all tasks,查询API详细信息。
    1. 在Postman上选择GET,发送http://集群URL/api请求。
      “集群URL”可在应用集成控制台部署管理页面目标集成名称下查看。
      请求发送后,在Postman的Response区域返回所有API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看List all tasks集成流的执行日志,其状态为SUCCESS
  2. 验证Create new task,新增一个API。
    说明 新增API的ID值不能和已有API的ID值重复,如果重复,无法新增API。
    1. 在Postman上发送新增API的请求。
      在Postman上选择POST,在Body页面输入新增API的JSON语句,然后发送http://集群URL/api请求。
      “集群URL”可在应用集成控制台部署管理页面目标集成名称下查看。
      请求发送后,在Postman的Response区域返回新增API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,包含新增的API。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Create new task集成流的执行日志,其状态为SUCCESS
  3. 验证Fetch task,查询新增的API详请。
    1. 在Postman上选择GET,发送http://集群URL/api/新增API的ID值请求。
      “集群URL”可在应用集成控制台部署管理页面目标集成名称下查看。
      请求发送后,在Postman的Response区域返回新增API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,包含新增API的详细信息。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Fetch tasks集成流的执行日志,其状态为SUCCESS
  4. 验证Update task,更新API的completed字段信息。
    说明 目前只支持更新API的completed字段信息。
    1. 在Postman上发送更新API的completed字段值的请求。
      在Postman上选择PUT,在Body页面输入更新APIcompleted字段值的JSON语句,然后发送http://集群URL/api/需要更新API的ID值请求。
      “集群URL”可在应用集成控制台部署管理页面目标集成名称下查看。
      请求发送后,在Postman的Response区域返回更新API的详细信息,其completed值已发生变化。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,目标API的completed值已发生变化。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Update tasks集成流的执行日志,其状态为SUCCESS
  5. 验证Delete task,删除API。
    1. 在Postman上选择DELETE,发送http://集群URL/api/需要删除API的ID值请求。
      “集群URL”可在应用集成控制台部署管理页面目标集成名称下查看。
      请求发送后,在Postman的Response区域返回空白信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详情。
      在MySQL客户端界面展示task表格详细信息,目标API已被删除。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Delete tasks集成流的执行日志,其状态为SUCCESS