You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API获取Directus仪表盘面板的数值指标?

问题描述

我想要获取Directus仪表盘某一面板的数值指标,调用接口 http://localhost:8055/panels/25c85ee7-a85d-4bbe-b00a-c2b125e38793 后得到如下响应,但响应里只有面板的配置信息,没有显示的数值指标数据,请问怎么才能获取这些数据?

响应内容:

{
  "data": {
    "id": "25c85ee7-a85d-4bbe-b00a-c2b125e38793",
    "dashboard": "bb51de5f-bf0b-49d2-a11d-5e74814f6d8c",
    "name": null,
    "icon": null,
    "color": null,
    "show_header": false,
    "note": null,
    "type": "list",
    "position_x": 1,
    "position_y": 15,
    "width": 15,
    "height": 15,
    "options": {
      "collection": "payment",
      "sortField": null,
      "displayTemplate": "{{amount}}",
      "linkToItem": true
    },
    "date_created": "2023-04-19T08:06:56.703Z",
    "user_created": "2e7fd8ab-e700-49e7-aa12-09a885d1fd42"
  }
}
解决方案

你调用的 /panels/{panel-id} 接口本身只返回面板的配置元数据,不包含实际展示的业务数据。要获取面板的数值指标,有两种直接的方式:

1. 调用面板专属数据接口

Directus 提供了专门用于获取面板渲染数据的端点,直接请求:

GET http://localhost:8055/panels/25c85ee7-a85d-4bbe-b00a-c2b125e38793/data

这个接口会根据面板的配置(比如你这里的 payment 集合、amount 字段)自动返回对应的数据,和仪表盘上展示的内容完全一致。

2. 直接查询对应集合的业务数据

从面板配置的 options 里可以看到,这个面板关联的是 payment 集合,展示的是 amount 字段。你可以直接调用 items 接口查询该集合的数据,甚至按需做聚合统计:

  • 查询所有 payment 记录的 amount 字段:
    GET http://localhost:8055/items/payment?fields=amount
    
  • 如果需要统计数值(比如总和),使用聚合参数:
    GET http://localhost:8055/items/payment?aggregate[sum][amount]=*&limit=0
    
    这样会返回 amount 字段的总和,适合数值类面板的指标需求。

内容的提问来源于stack exchange,提问作者erdem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:04:56