验证状态:已源码核验、未联调;适用基线:Web
7fe6dd10、services89bd222c;核验日期:2026-09-12
按筛选条件读取数据字典列表(非分页,受 sqlQueryLimit 上限约束)。当前 Web 主要以本操作为 XLSX 导出取全量数据。本页描述当前 Web 可达调用与服务端实际合同,不把静态源码核验当作联调。
| 页面/功能 | 角色或空间分支 | 调用证据 |
|---|---|---|
| XLSX 导出取数 | 当前 $spaceId;后端授权 administrator 或 configuration-data-dictionary:read |
app/routes/($lng).$spaceId.configuration.data-dictionary._index/route.tsx:416 |
| 项 | 值 |
|---|---|
| operationId | http-post-main-service-system-api-configuration-data-dictionary-list-1d10ec92 |
| method + path | POST /main-service/system-api/configuration/data-dictionary/list |
| base URL | 当前 Web 使用同源相对 URL;App 的部署 base URL 未由源码固定 |
| headers | Accept: application/json;charset=UTF-8;有登录态时 Authorization: Bearer <token>;body 操作为 Content-Type: application/json |
| 序列化 | object body 由公共 wrapper 执行 JSON.stringify |
需要有效登录态,并满足 administrator 角色或 configuration-data-dictionary:read。 资源表受 MyBatis 租户拦截器按当前认证租户上下文约束(es-center-server-main-service/src/main/java/com/es/center/server/config/MybatisPlusConfig.java:72-88;configuration 表不在 tenant-id-ignore-tables 白名单),请求中的租户筛选字段不能代替空间切换。认证与空间。
| JSON 路径/参数 | JSON 类型 | 位置 | 必填 | 可空 | 默认值 | 枚举/范围/单位 | 说明 | 字段证据 |
|---|---|---|---|---|---|---|---|---|
| body | object | body | 是 | 否 | {} |
见查询字段 | DataDictionaryListRequestDTO;通用查询控制字段见查询控制字段 |
gt-common-configuration-dto/src/main/java/tech/gt/configuration/dto/DataDictionaryListRequestDTO.java |
sqlQueryLimit |
number | body | 否 | 是 | null→100;钳制 1..100000 |
条数上限 | Controller 在查询前统一规范化 | es-center-server-main-service/src/main/java/com/es/center/server/configuration/controller/DataDictionaryController.java:142 normalizeSqlQueryLimit;es-center-server-core/src/main/java/com/es/center/server/core/query/QueryLimits.java:16-28 |
当前 Web 搜索表单默认值含 key 等请求 DTO 未声明的键(route.tsx:89-97);服务端只应用 DTO 声明字段(Mapper 逐字段读取),该键不参与过滤。
当前 Web XLSX 导出发送 { ...搜索条件, sqlQueryLimit: 100000 }(app/.common/hooks/use-xlsx-table-io.ts:9 XLSX_EXPORT_ROW_LIMIT),服务端钳制为同一上限。
| JSON 路径 | JSON 类型 | 出现条件 | 可空 | 枚举/范围/单位 | 说明 | 字段证据 |
|---|---|---|---|---|---|---|
timestamp |
number | JSON 响应 | 否 | epoch 毫秒 | 响应生成时间 | gt-common-core/src/main/java/tech/gt/api/ApiResult.java |
status |
number | JSON 响应 | 否 | 成功为 200 | 不能只看 HTTP status | gt-common-core/src/main/java/tech/gt/api/ApiResult.java |
error/localizedError/path |
string | null | JSON 响应 | 是 | — | 成功通常为 null;失败见差异页 | gt-common-core/src/main/java/tech/gt/api/ApiResult.java |
extraData |
object | 成功 | 否 | — | 本操作无专属键,恒为 {} |
gt-common-core/src/main/java/tech/gt/api/ApiResult.java |
data |
array | 业务成功 | 否 | — | 数据字典对象数组;空结果 [];字段见本资源族字段模型 |
gt-common-configuration-common/src/main/resources/mapper/postgresql/gt-common-configuration/DataDictionaryMapper.xml#142 selectListResponseDTO |
status=200 且 data 数组可消费表示读取结束;[] 是成功空结果。读取直查数据库,无缓存窗口。
以下均为按已核验契约构造的示例,不是真实联调记录;ID、时间与租户为占位值。
请求:
成功响应:
信封字段证据:gt-common-core/src/main/java/tech/gt/api/ApiResult.java(成功/失败信封)与 es-center-server-main-service/src/main/java/com/es/center/server/config/JsonFormatConfig.java:20-113(时间序列化)。
认证失败/权限失败:认证与资源权限拒绝的 wire 形态见错误差异页对应锚点。 公共 Web helper 默认 15 分钟超时(app/.common/lib/fetch-timeouts.ts:4-76 fetchTimeout/fetchTimeoutResponseJson)。读取无副作用,可按网络策略重试。
无长连接资源;XLSX 导出取数后由页面本地落盘。写操作成功后列表页会 reload 重新分页读取。
无已知会阻止按当前源码调用的关键契约缺口。 仅完成双仓静态源码核验,未执行真实 HTTP、数据库或权限矩阵联调。
| 结论 | 状态 | 仓库/基线 | 路径、符号及定位 | 内容指纹(脏文件) |
|---|---|---|---|---|
| Web 方法、路径、序列化与消费 | 已源码核验 | web 7fe6dd10 |
app/.client/api/system/configuration/dataDictionaryApi.ts:26 configurationdataDictionaryListApi;app/routes/($lng).$spaceId.configuration.data-dictionary._index/route.tsx:416;公共 wrapper:app/.common/lib/fetch-timeouts.ts:4-76 fetchTimeout/fetchTimeoutResponseJson |
证据文件与 HEAD 一致 |
| 权限、输入、输出和完成语义 | 已源码核验 | services 89bd222c |
es-center-server-main-service/src/main/java/com/es/center/server/configuration/controller/DataDictionaryController.java:139 list;gt-common-configuration-common/src/main/resources/mapper/postgresql/gt-common-configuration/DataDictionaryMapper.xml#142 selectListResponseDTO |
证据文件与 HEAD 一致 |
| JSON 字段与时间类型 | 已源码核验 | services 89bd222c |
本资源族字段模型;DataDictionaryListResponseDTO.java、DataDictionaryGetByIdResponseDTO.java(gt-common-configuration-dto/src/main/java/tech/gt/configuration/dto/) |
证据文件与 HEAD 一致 |
| 清单归属 | 已重新比对 | inventory | .scratch/institutional-app-api-docs/inventory/operations.json |
SHA-256 b5cce137b4fc602840fdbe74c99d90667b3e581815bddc709e263ffcc64e00f9(工作树仅既有格式化漂移,本票未修改) |
| 真实部署联调 | 未执行 | — | 未发送请求、未连接数据库/缓存/JMS | — |