API的非必填参数(1)

更新时间:
复制为 MD 格式

场景

当前希望从订单表中查询特定客户的订单。在某些情况下,可以获取到订单ID(crt_ord_id)和用户ID(buyer_id)。如果未能获得订单ID,则需查询该用户的所有订单。这种场景在Dataphin数据服务模块中应如何实现?

现在假设直接从上游数据库中进行查询(在数据服务模块以直连数据源-SQL模块为例),并以MySQL为例。

解决方案及功能

  1. 前往服务 > API开发中使用直连数据源-SQL模块方式新建API,其中SQL模式选择为基础SQL,并在API SQL脚本编辑中填写脚本,请求参数用${}输入,并在请求参数处将crt_ord_id设置为非必填、buyer_id设置为必填。

    SELECT delivery_address_id,buyer_id from `order` where crt_ord_id = ${crt_ord_id} and buyer_id =${buyer_id}

    imageimage

  2. 编辑完成后,提交此API,随后在API页面单击测试图标。

  3. 输入测试值,下图一仅输入了buyer_id,下图二输入了crt_ord_idbuyer_idimageimage

  4. 选择返回参数,单击测试测试详情页面可以看到返回的results。

    查看实际运行的SQL:第一个SQLwhere条件中只有buyer_id一个条件,crt_ord_id被忽略;第二个SQLwhere条件中有crt_ord_idbuyer_id两个条件。imageimage