反馈已提交

网络繁忙

发布API-参数为空查询全部

  • 文档创建者:Roxy
  • 历史版本:14
  • 最近更新:Wendy123456 于 2024-09-06
  • 1. 概述

    1.1 版本

    FineDataLink版本
    功能变动
    4.0.28

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

    1.2 应用场景

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

    18.png

    2. 操作步骤

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

    2.1 新建API

    进入「数据服务」,点击「新建>API」,进入 API 发布编辑界面。如下图所示:

    11.png

    2.2 输入API信息

    设置 API 名称;请求方式选择 GET;设置路径、超时时间、绑定应用;API 描述可为空。

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

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

    12.png

    注:若用户想要对发布的API进行层级设计,可以使用连字符(-)、正斜杠(/)等符号设计API路径,如下图所示:

    13.png

    2.3 设置发布内容及参数

    1)设置界面如下图所示:

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

    14.png

    各设置项说明如下:

    设置项
    说明
    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 防注入 中将转义字符单引号取消选择

    请求参数配置

    自动识别查询 SQL 设置的参数名,可以定义该参数的参数类

    由于此时希望实现使用 API 时不引用参数,默认取出所有的数据,因此取消开启「参数必填」按钮

    返回值配置

    点击「获取」按钮,可输入参数值查询数据

    16.png

    2)点击下一步」进入「预览测试」界面,点击测试调用按钮,可看到参数为空成功查询全部数据。如下图所示:

    15.png

    3)点击生成API按钮。

    2.4 API上线

    在右上角点击「上线」,即可发布 API,如下图所示:

    17.png

    3. 后续步骤

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

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

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

    18.png

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




    附件列表


    主题: 数据服务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭



    AI

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