WebAPI
开发系统,通过URL调用其他V平台系统WebAPI或调用第三方API,并取得返回数据供其它规则使用。
- 当调用V平台WebAPI时,可以设置租户编码,若不填写,当环境为租户模式时默认取当前租户编码。
- 当调用第三方API时,可以设置请求模式(暂时只支持
GET
),如果返回值为复杂的数据类型(json、xml、对象等),可能需要通过二次开发的规则或函数来解析。
场景一(V平台WebAPI)
- 案例介绍
- 配置演示
- 配置详细
- 预览效果
本案例,主要展示通过调用V平台WebAPI的方式,实现新增表数据效果。
本案例通过调用V平台WebAPI的方式,实现新增表数据效果。
方法输入
编码 | 名称 | 类型 | 初始值 | 描述 |
---|---|---|---|---|
name | 姓名 | 文本 | 传入姓名参数值,作为新增的来源值 | |
sex | 性别 | 文本 | 传入性别参数值,作为新增的来源值 | |
addTime | 新增时间 | 日期时间 | 传入新增时间参数值,作为新增的来源值 |
方法变量
编码 | 名称 | 类型 | 初始值 | 描述 |
---|---|---|---|---|
table1 | 表1 | 实体 | 根据表1,添加实体字段,用于新增实体数据,保存至表数据库 |
「新增实体记录」规则,默认值设置如下:
设置方法输出,部署成功后,右键选择「WebApi调试」,调试成功会显示对应的请求地址。
格式:服务地址/webapi/ydg_webapi/addData
addData(新增数据)
构件方法的请求地址,如下:
场景二(第三方API)
- 案例介绍
- 配置演示
- 配置详细
- 预览效果
本案例通过调用第三方WebAPI(百度地图Web服务API),获取地理编码服务,将结构化地址(省/市/区/街道/门牌号)解析为对应的位置坐标。
百度地图Web服务API获取地址:https://lbsyun.baidu.com/index.php?title=webapi
地理编码Web服务API请求地址:http://api.map.baidu.com/geocoder/v2/ //GET请求
tip调用第三方WebAPI,需要结合服务端「调用WebAPI」规则使用,才能返回Json相关信息。
根据地理编码Web服务API,需要定义对应的输入参数和返回参数:
方法输入
编码 | 名称 | 类型 | 初始值 | 描述 |
---|---|---|---|---|
address | 地址 | 文本 | 传入需要获取地理编码信息的地址明细 |
方法输出
编码 | 名称 | 类型 | 初始值 | 描述 |
---|---|---|---|---|
isSuccess | 是否成功 | 布尔 | ||
returnValue | 返回值 | 长文本 | 返回地址对应的地理编码信息(需要结合函数截取Json格式) |
2.1 实体定义
在浏览器中,调试webAPI(调试地址:
http://api.map.baidu.com/geocoder/v2?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation
),返回结果如下:根据接口返回值数,定义3个实体,设置实体字段编码和类型,如下:
2.2 界面定义
依次添加文本、长文本、按钮、标签和列表控件,参照下图进行布局,将列表控件绑定对应的实体字段。
2.3 规则配置
(1)调用WebAPI按钮事件
(2)截取Json值按钮事件
由于返回的地址信息不完全是Json格式,因此需要结合
Remove()
、GetLength()
函数截取Json值。Remove()
函数
- 移除指定索引(0基准)位置、指定长度的字符,返回移除后的字符串。
- 参数1--原字符串(字符串类型);
- 参数2--开始移除的索引位置(整型,不能小于0,第一个字符索引为0);
- 参数3--移除字符串的长度(整型,大于0);
- 返回值为字符串类型。例如:Remove("abcdefg",2,3),返回值为"abfg"
GetLength()
函数
- 返回字符串的长度。
- 参数1--指定的字符串(字符串类型);
- 返回值为整数。例如:GetLength("asccc")返回值为5
(3)还原Json实体按钮事件
① 配置数据还原——第一层
② 配置数据还原——第二层
③ 配置数据还原——第三层