反馈已提交

网络繁忙

数据查询API-参数为空查询全部

  • 文档创建者:Roxy
  • 历史版本:21
  • 最近更新:Wendy123456 于 2025-08-22
  • icon提示:
    本文方案适用于 4.2.6.2 及之后版本;4.2.6.2 之前版本,请参见:历史版本

    1. 概述

    1.1 版本

    FineDataLink版本
    功能变动
    4.0.28

    数据发布 API 参数支持配置必填/非必填

    1.2 应用场景

    用户想要在发布 API 时,对 API 取数逻辑进行设置:未传指定参数,则省略此参数对应的查询条件。即实现想查询全部数据时,不传对应参数;要查询其他非空值数据时,正常传参。

    76.png

    2. 操作步骤

    示例:将S订单中的数据发布为 API。希望在取数时不传递参数「area」,则取出全部的数据,当正常传递「area」参数,则查询其他非空值数据。

    2.1 新建API

    进入数据服务,点击新建>接口服务,输入接口服务的名称后,点击确定按钮。如下图所示:

    71.png

    2.2 设置 API 信息

    2.2.1 服务内容(数据查询)

    设置界面如下图所示:

    MySQL 数据库(本文示例):

    SELECT * FROM S订单 WHERE 1=1 AND CASE WHEN '${area}' != '' THEN 货主地区='${area}'
     ELSE 1=1 END

    Oracle 数据库(用户根据实际情况进行修改):

    SELECT * FROM "S_ORDER" WHERE 货主地区 = (case when nvl('${area}','*') = '*' THEN 货主地区 else '${area}' end)

    SQLServer 数据库(用户根据实际情况修改):

    SELECT * FROM [dbo].[S_ORDER] WHERE 1=1   AND ('${area}' = '' OR 货主地区 = '${area}')

    PostgreSQL 数据库(用户根据实际情况修改):

    SELECT * FROM "public"."S_ORADER" WHERE '${area}' = '' OR 货主地区 = '${area}'

    72.png

    各设置项说明如下:

    各设置项详细说明请参见:发布API概述

    设置项
    说明
    SQL语句

    1)SQL 语句中设置参数 area,该 API 发布后,可使用参数查询S订单」表中的数

    2)示例为 MySQL 数据库语法,不同数据库的语法不同,用户可根据实际使用数据库类型修改语法

    3)若 SQL 语句中参数加上''(本文示例写法),调用 API 时,参数值就不用带''

    注:此时若调用 API ,则SQL 语句会将默认值空带入,即执行SELECT * FROM S订单 WHERE 1=1 AND CASE WHEN '' != '' THEN 货主地区='' ELSE 1=1 END,即查询出全量数据

    若设置默认值为 NULL 时,则SQL 语句会将默认值 NULL 带入,即执行 SELECT * FROM S订单 WHERE 1=1 AND CASE WHEN 'NULL' != '' THEN 货主地区='NULL' ELSE 1=1 END,此时的执行结果取决于数据库读取情况

    若 SQL 语句中参数不带'',即:SELECT * FROM S订单 WHERE 1=1 AND CASE WHEN ${area} != '' THEN 货主地区=${area} ELSE 1=1 END,则调用 API 时,参数值需要带上''

    4)4.0.28 之前版本:为了解决 SQL 防注入问题,FineDataLink 将参数中包含的单引号默认添加进防注入限制转义字符中,也就是默认 SQL 语句中参数中的数据不允许加单引号,需要在查询预览的时候手动给参数默认值加引号进行预览。因此若用户需要 SQL 语句中的参数需要有引号,则需要在 SQL 防注入 中将转义字符单引号取消选择

    分页查询

    关闭分页查询按钮,调用生成的 API 后返回数据不进行分页

    参数必填按钮

    本文示例中希望调用 API 时不引用参数,默认取出所有的数据,因此关闭 area 参数的必填按钮

    2.2.2 API接口配置

    1)请求方式选择 POST;路径设置为 demo(支持自定义)。

    添加应用,若此时没有创建应用,可不添加应用,在完成 API 创建后,在应用列表中绑定 API ,详情参见:绑定API至应用绑定应用步骤必做,否则后续无法调用该 API 。

    请求 Body 格式设置为 application/json。如下图所示:

    各设置项详细说明请参见:发布API概述

    73.png

    2)点击右下角的测试调用按钮,可调试 API;area 参数值设置为空,查询全部数据。如下图所示:

    75.png

    3)点击保存并上线按钮。

    3. 后续步骤

    1)若用户在发布时没有将 API 添加至指定应用,也可以在 API应用管理 中将上线的 API 通过应用进行管理,以便能够被调用。

    2)若需要使用已经发布的 API,详情参见:使用数据服务发布的API(GET 请求)

    可看到参数为空,即不传对应参数 area 时,取全部的数据,如下图所示:

    76.png

    对已经发布的 API 进行管理,详情参见:服务运维




    附件列表


    主题: 数据服务
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持