1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.0.28 | 数据发布 API 参数支持传入 NULL 值 |
1.2 应用场景
用户想要在发布 API 时,对 API 取数逻辑进行设置:取出发布的 API 中为 NULL 的数据,同时也能正常查询其他数据。
FineDataLink 支持 API 参数传入 NULL 值。
2. 操作步骤
本文示例:将「订单表」中的数据发布为 API,并在取数时可取出货主省份为 NULL 值的数据,同时也能正常查询其他数据。
2.1 新建API
进入「数据服务」,点击「新建>接口服务」,输入接口服务的名称后,点击「确定」按钮。如下图所示:
2.2 设置 API 信息
2.2.1 服务内容(数据查询)
设置界面如下图所示:
MySQL 数据库(本文示例):
SELECT * FROM `demotest`.`订单表` WHERE IF('${province}'='NULL',货主省份 IS NULL,货主省份 ='${province}')
Oracle 数据库(用户根据实际情况进行修改):
SELECT * FROM "S_ORDER" WHERE NVL(货主省份, 'N/A') = NVL(NULLIF('${province}', 'NULL'), 'N/A');
SQLServer 数据库(用户根据实际情况修改):
SELECT * FROM [dbo].[S_ORDER] WHERE ('${province}' = 'NULL' AND 货主省份 IS NULL) OR ('${province}' <> 'NULL' AND 货主省份 = '${province}')
PostgreSQL 数据库(用户根据实际情况修改):
SELECT * FROM "public"."S_ORADER" WHERE ('${province}' = 'NULL' AND 货主省份 IS NULL) OR ('${province}' <> 'NULL' AND 货主省份 = '${province}')
各设置项说明如下:
各设置项详细说明请参见:发布API概述
设置项 | 说明 |
---|---|
SQL语句 | 示例为 MySQL 数据库语法,不同数据库的语法不同,用户可根据实际使用数据库类型修改语法 |
分页查询 | 本文示例中关闭「分页查询」按钮,调用生成的 API 后返回数据不进行分页 |
自定义参数 | 「参数必填」按钮关闭,即参数可以为空,参数默认值为 NULL 该参数在 API 发布后,可在通过 API 取数时使用 SQL 语句设置的参数进行条件取数 |
2.2.2 API接口配置
1)请求方式选择 POST;路径设置为 demo1(支持自定义)。
添加应用,若此时没有创建应用,可不添加应用,在完成 API 创建后,在应用列表中绑定 API ,详情参见:绑定API至应用;绑定应用步骤必做,否则后续无法调用该 API 。
请求 Body 格式设置为 application/json。如下图所示:
各设置项详细说明请参见:发布API概述
2)点击右下角的「测试调用」按钮,可调试 API;area 参数值设置为 null ,取出货主省份为 null 的数据。如下图所示:
3)点击「保存并上线」按钮。
3. 后续步骤
若用户在发布时没有将 API 添加至指定应用,也可以在 API应用管理 中将上线的 API 通过应用进行管理,以便能够被调用。
若需要使用已经发布的 API,详情参见:使用数据服务发布的API(POST application/json请求)
可看到取出参数为 NULL 值的数据,如下图所示:
对已经发布的 API 进行管理,详情参见:服务运维