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格式 |
1.2 应用场景
用户想要在发布API 时,对 API 取数逻辑进行设置:使用 SQL 的 IN 语句一个参数传入多值,对指定表的指定列做多值查询。
2. 操作步骤编辑
示例需要将 S订单中数据发布为 API,并在取数时可同时取出多个地区(华北、华东、华南等等)的数据。
2.1 新建API
进入「数据服务」,点击「新建>API」,进入API 发布编辑界面,如下图所示:
2.2 输入API信息
设置 API名称、可对API进行描述说明,同时设置发布的API 的路径,并选择是否开启认证,最后设置超时时间,如下图所示:
API的请求路径、请求格式、返回格式等基本信息详情参见:发布API
2.3 设置发布内容及参数
选择要发布的数据源以及数据连接,然后输入查询 SQL 语句,如下图所示:
SELECT * FROM S订单 WHERE 货主地区 IN ('${货主地区}')
该参数在 API 发布后,可在通过 API 取数时使用 SQL 语句设置的参数进行条件取数。
注:示例为 MySQL 数据库语法,不同数据库的语法不同,用户可根据实际使用数据库类型修改语法。
注:为了解决 SQL 防注入问题,FineDataLink 将参数中包含的单引号默认添加进防注入限制转义字符中,也就是默认 SQL 语句中参数中的数据不允许加单引号,需要在查询预览的时候手动给参数默认值加引号进行预览。
此时由于使用到了 IN 语法,需要在参数值中有单引号来分割多个数据,因此若用户需要 SQL 语句中的参数需要有引号,则需要在 SQL 防注入 中将转义字符单引号取消选择。
请求参数配置中会自动识别查询 SQL 设置的参数名,可以定义该参数的参数类型,勾选「参数必填」并进行描述,如下图所示:
参数必填即当前参数不能为空。
点击查询预览,输入预览参数值,点击「预览」,如下图所示:
即可看到满足条件的预览结果,如下图所示:
2.4 预览测试
点击下一步进入「预览测试」界面。
点击「测试API调用」,输入请求参数值,补充 body 内容进行测试,即可看到测试接口返回结果,如下图所示:
点击「生成API」即可完成API生成,如下图所示:
2.5 API上线
API列表展示所有API信息,选择指定的API ,可查看基本信息和API 的内容以及参数。
在右上角点击「上线」,即可发布 API,如下图所示: