跨应用关联查询

场景描述

一个应用存储了另一个应用的数据的ID,需要根据ID关联查询出数据的其他信息,这种关联查询可能是跨库的

实现思路

使用动态数据集的输出数据集参数,实现跨应用的关联查询

实现步骤

本例企业门户应用中字典表存储了民族数据,包括ID和名称

当前应用中的学生表有民族ID列,存储了民族ID,要通过关联企业门户中的字典表,查询出民族名称

1 引用其他应用的数据

切换到高级页签,点击租户内跨应用调服务、数据的立即设置按钮,打开使用租户下其他服务、数据对话框

选中要关联查询的应用,例如企业门户应用(entry),点击选择使用服务和数据(…)按钮,打开使用数据、服务对话框

选中要关联查询的数据集,例如其他模块中的字典表

2 增加输出数据集

切换到数据页签,打开学生表,切换到表页签,添加数据集参数:输出数据集

  • 来源:选择数据集
  • 名称和显示名称:输入自定义的参数名
  • 数据集:选择字典表(企业门户.其他)
  • 添加字段映射:学生表的民族 等于 字典表的主键

3 选中关联查询返回的列

切换到页面页签,添加学生数据集,点击编辑按钮,打开属性编辑对话框,点击数据列右侧的…按钮,打开选择列对话框,选择学生表的列和字典表的名称列

用表格组件显示数据集的内容,效果如下,dict名称就是通过跨应用关联查询查出的民族名称

输出数据集中也可以选择服务,服务返回需要数据集,就可以跟设置动态数据集一样,显示返回的数据集中的数据 使用服务时,服务地址的格式如下:

service://{serviceName}/main/api或者service:/main/api 调用当前应用请求/main/api,需要注意不写{serviceName}时:后是一个/
http(s)://www.baidu.com/main/api 调用外部api
service://oa/main/api 跨应用调用请求API,oa是应用的服务名
service://{serviceGateway}/oa/main/api  通过服务网关(过门户)跨应用调用请求API,oa是应用的服务名,
service://oa@tenanta/main/api 跨租户调用请求 (调用的服务必须是做过服务注册的),oa是应用的服务名,tenanta是租户code

如下调用当前服务的api请求:

results matching ""

    No results matching ""

    results matching ""

      No results matching ""