1. 概述编辑
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.0.20.1 | - |
4.0.26 | 非超级管理员支持使用数据服务 |
4.0.27 | 支持使用 FineBI 公共数据作为数据来源 |
4.0.28 | 数据发布API 支持设置 SQL防注入,以便使用 IN 语法实现多值查询 数据发布API参数支持传入NULL值 数据发布API参数支持配置必填 / 非必填 数据发布API支持GET请求方式 数据发布API的POST请求方式,额外支持x-www-form-urlencoded格式 |
4.1 | 支持指定多级API路径,在API信息配置页面,「路径」支持指定:英文、数字、下划线(_)、连字符(-)、正斜杠(/) 支持发布API时直接绑定应用 支持发布API时进行应用配置测试 |
1.2 应用场景
用户想要在发布API 时,对 API 取数逻辑进行设置:取出发布的 API 中为 NULL 的数据,同时也能正常查询其他数据。
FineDataLink 支持API参数传入NULL值。
2. 操作步骤编辑
示例需要将 S订单中数据发布为 API,并在取数时可取出地区数据为 NULL 值的数据。
2.1 新建API
进入「数据服务」,点击「新建>API」,进入API 发布编辑界面,如下图所示:
2.2 输入API信息
设置 API名称、可对API进行描述说明,同时设置发布的API 的路径,此处选择了 x-www-form-urlencoded 请求格式,并选择是否开启认证,设置超时时间,
然后可将创建的 API 添加至应用中,如下图所示:
当然若此时没有创建应用,可不添加应用,在完成 API 创建后,在应用列表中绑定 API ,详情参见:绑定API至应用
API的请求路径、请求格式、返回格式等基本信息详情参见:发布API
注:若用户想要对发布的API进行层级设计,可以使用连字符(-)、正斜杠(/)等符号设计API路径,如下图所示:
2.3 设置发布内容及参数
选择要发布的数据源以及数据连接,然后输入查询 SQL 语句,如下图所示:
SELECT * FROM S订单 WHERE IF(${area} IS NULL, 货主地区 IS NULL, 货主地区 = ${area})
该参数在 API发布后,可在通过 API 取数时使用 SQL 语句设置的参数进行条件取数。
注:为了解决 SQL 防注入问题,FineDataLink 将参数中包含的单引号默认添加进防注入限制转义字符中,也就是默认 SQL 语句中参数中的数据不允许加单引号,需要在查询预览的时候手动给参数默认值加引号进行预览。
若SQL 语句中用到了 IN 语法,需要在参数值中有单引号来分割多个数据,若用户需要 SQL 语句中的参数需要有引号,则需要在 SQL 防注入 中将转义字符单引号取消选择。
注:示例为 MySQL 数据库语法,不同数据库的语法不同,用户可根据实际使用数据库类型修改语法。
请求参数配置中会自动识别查询 SQL 设置的参数名,可以定义该参数的参数类型,勾选「参数必填」并进行描述,如下图所示:
参数必填即当前参数不能为空。
点击查询预览,输入预览参数值,点击「预览」,如下图
即可看到满足条件的预览结果,如下图所示:
2.4 预览测试
点击下一步进入「预览测试」界面。
点击「测试API调用」,选择在API信息中已绑定的应用,然后输入请求参数值,补充 body 内容进行测试,即可看到测试接口返回结果,如下图所示:
点击「生成API」即可完成API生成,如下图所示:
2.5 API上线
API列表展示所有API信息,选择指定的API ,可查看基本信息和API 的内容以及参数。
在右上角点击「上线」,即可发布 API,如下图所示:
4. 后续步骤编辑
若用户在发布时没有将 API 添加至指定应用,也可以在 API应用管理 中将上线的 API 通过应用进行管理,以便能够被调用。
若需要使用已经发布的API,详情参见:使用数据服务发布的API(POST x-www-form-urlencoded请求)
可看到取出参数为 NULL 值的数据,如下图所示:
对已经发布的API进行管理,详情参见:服务运维