跳到主要内容

视图查询

网关前缀:${API_BASE}/data/views/...

请求体字段说明(ViewQueryRequest)

  • params 对象,可选,视图自定义参数(键值对),用于查询模板化替换
  • filters 对象,可选,Predicate(会与视图 base_query 的 where 通过 AND 合并)
  • limit/offset 可选

参数占位与模板规则

  • 视图定义中可包含占位符(如 {{country}}{{channel}}),执行查询时以 params 替换。
  • 缺失必需的占位参数时返回错误(见“常见错误示例”)。
  • 参数可与时间、过滤等拼接组成最终 SQL/DSL。

根据视图名称执行查询

  • POST /views/{viewName}/query
  • 示例(参数 + filters):
curl -X POST \
"${API_BASE}/data/views/sales_overview/query" \
-H "Content-Type: application/json" \
-H "X-Tenant-Id: tenant-abc123" \
-d '{
"params": {"country":"US", "channel":"web"},
"filters": { "type":"comparison", "field":"status", "op":"eq", "value":"PAID" },
"limit": 100
}'
  • 响应示例:
{"success": true, "data": {"columns": ["date","revenue"], "rows": [["2024-09-01",1200.5]]}}

常见错误示例

  • 缺失视图参数:
{"success": false, "message":"Param 'country' is required", "errorCode":"VIEW_QUERY_FAILED"}
  • 视图不存在:
{"success": false, "message":"View 'sales_overviewx' not found", "errorCode":"VIEW_QUERY_FAILED"}