视图查询
网关前缀:${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"}