1、背景
在简单介绍完API入门之后,会有更加场景化的需求,接下来将针对 API数据发布 中的 附录 API接口文档进行细化补充。
2、场景
2.1 分页参数
注意:结果集必须是有序的,才能保证多次访问的结果是一致的,可以通过排序等方式实现结果有序。
对于设计和实现 API 来说,当结果集包含成千上万条记录时,返回一个查询的所有结果可能是一个挑战,它给服务器、客户端和网络带来了不必要的压力,于是就有了分页的功能。
分页参数 | ||||
名称 | 类型 | 是否必填 | 示例值 | 描述 |
page | JSON对象 | 否 | "page": { "currentPage": 1, "pageSize": 10 } | 分页参数。 |
page.currentPage | 数字 | 是 | 1 | 当前页。 |
page.pageSize | 数字 | 是 | 10 | 单页数据量。 |
注意:不传入分页参数时,最大取数10000。 |
① body配置
API配置不变,在请求的body中,进行配置JSON格式,body中输入如下所示;即可进行分页显示
{
"page": {
"currentPage": 1,
"pageSize": 10
}
}
② 结果预览
2.2 查询条件参数
某些场景下,请求的数据需要通过SQL进行动态传参获取,如下表格为API 接口说明
查询条件参数 | ||||
(查询条件参数在API所对应的业务包的SQL数据集中自定义,目前动态传参需要使用函数支撑,预计2.4版本FT数据服务支持公式中写分支逻辑(比如if等逻辑)实现动态传参) | ||||
名称 | 类型 | 是否必填 | 示例值 | 描述 |
params | JSON数组 | 否 | "params": [{ "name": "group_100", "value": "100_1" },{ "name": "c4", "value": 20 },{ "name": "crt_time", "value": "2023-09-28 01:00:05" }] | 查询参数。 |
params.name | 字符串 | 是 | "group_100" | SQL数据集中配置参数名。 |
params.value | 字符串 | 是 | "100_1" | 字符串参数值(SQL数据集参数类型选择“文本”) |
数字 | 是 | 20 | 数字参数值(SQL数据集参数类型选择“数字”) | |
日期(字符串格式传入) 格式:YYYY-MM-dd HH:mm:ss | 是 | "2023-09-28 01:00:05" | 日期参数值(SQL数据集参数类型选择“日期”) | |
① 准备SQL数据集
② body传参
若需要传递多个参数,用,隔开;具体请参考 2.2.4
{
"page": {
"currentPage": 1,
"pageSize": 5
},
"params": [
{
"name": "pname",
"value": "je.wang"
}
]
}
③ 结果预览
④ 多个参数
有多个参数时,在SQL数据集中新增参数,以及params 中增加 JSON 对象即可,示例:
{
"page": {
"currentPage": 1,
"pageSize": 10000
},
"params": [
{
"name": "name",
"value": "fr_ds_test3"
},
{
"name": "param2",
"value": "value2"
}
]
}