Skip to content
Datablau DAM数据治理产品手册
REST API 集成指南 模块手册下载 PDF

认证与请求约定 ​

准备访问身份 ​

集成身份应具有目标模块的 License、功能权限和对象范围权限。应用系统、数据源、标准目录、资产目录和质量问题的访问范围分别核对。管理员浏览到的数据不代表普通集成身份也可访问。

不同部署可能由统一认证网关、单点登录或 Token 机制承载请求。接口定义未声明统一的 securitySchemes,因此本文不假定固定的 Authorization: Bearer、Basic 或自定义请求头。

生产集成应由管理员确认当前部署支持的认证方式、凭据携带位置、有效期和撤销方法。支持单点登录的环境由统一认证网关处理会话。不要将浏览器中的个人登录会话作为长期无人值守集成方案。

当前身份与 Token 管理 ​

除了通过接口管理 Token,还可以在产品界面生成:登录“个人工作台”,进入“Token 管理”,按需生成短期 Token 或永久 Token。短期 Token 适合临时联调,永久 Token 仅适合受控的服务账号;生成后立即保存到企业密钥管理系统,页面通常不会再次展示完整凭据。永久 Token 应建立负责人、用途、轮换周期和撤销记录。

以下路径均为完整服务路径。Token 管理接口属于身份管理,不是无需登录的密码换 Token 接口。

方法与路径用途关键输入或返回
GET /user/usermanagement/users/details/self验证当前认证身份返回当前用户信息;对接方仅保留需要的用户标识
POST /user/token/getTokens查询当前用户的 Token返回凭据列表,包含 id、name、expireHours、expiresAt 等;响应可能包含敏感凭据
POST /user/token/generateTokens创建当前用户的 TokenJSON Body 可用 name(String)、expireHours(Long);是否允许创建及期限以部署策略为准
POST /user/token/updateToken更新凭据配置请求结构以目标环境 UserTokenUpdateDto 为准
POST /user/token/deleteToken撤销凭据请求结构以目标环境 UserTokenUpdateDto 为准;执行前确认受影响的调用方

创建 Token 不会增加账号原有权限。凭据存入企业密钥管理设施,禁止写进代码、请求日志、截图和文档。

请求地址与方法 ​

请求地址为“部署入口 + 完整服务路径”。Swagger 的 servers 可能是服务节点内部地址,对外调用应使用管理员确认的统一入口,不直接复制内部 IP。

接口方法以本指南及目标 OpenAPI 为准。现有产品中有不少 POST 查询,不能因为使用 POST 就判定为写操作;也有历史接口同时声明多种方法,不能据此把 DELETE、PUT 当作查询别名使用。

JSON 请求使用 Content-Type: application/json。Query 参数、Path 参数与 Body 不可互换;文件导入使用接口规定的 multipart/form-data,导出可能返回二进制或异步任务标识,不按 JSON 强制解析。

下面以一次已验证的元数据检索演示请求结构。DAM_BASE_URL 是企业实际入口,DAM_COOKIE_FILE 是经企业认可方式配置的有效会话 Cookie 文件路径,仅用于会话方式联调;采用其他认证方式时替换为管理员确认的携带方式。

bash
curl --fail-with-body --request POST \
  --cookie "$DAM_COOKIE_FILE" \
  --header 'Content-Type: application/json' \
  --data '{"currentPage":1,"pageSize":20,"keyword":"customer","types":["TABLE"]}' \
  "$DAM_BASE_URL/metadata/entities/searchMetadata"

示例未关闭 HTTPS 证书验证。企业证书由可信 CA 或企业信任链验证,不在生产调用中忽略证书错误。

分页与响应不能统一套用 ​

接口请求分页字段数据列表与总数
元数据搜索、数据源分页、已发布标准分页Body:currentPage、pageSizecontent、totalItems
标准代码分页Body:currentPage、pageSizedata、total
质量技术规则分页Body:currentPage、pageSizeruleList、total
资产列表Body:pageNum、pageSize外层 status、msg、data;data 为开放结构,按实测适配
已发布安全资产Body:pageNo、pageSize,Schema 默认 1、10外层 status、msg、data
质量问题明细Query:currentPage、pageSize,从 1 开始rowNames、rowData、totalRow
通用任务列表Body:查询条件及嵌套 pagecontent、totalElements、number 等
统一资产搜索(可选)Body:cursor、limititems、nextCursor、hasMore

不能仅按分页字段名称推断起始页。对返回开放 Map 的接口先做少量联调,不自行编造 data.list 等字段。

对象标识与一致性 ​

  • 保留应用系统 categoryId、数据源 modelId、表字段 objectId,并记录来源系统和 Schema。
  • 搜索结果中的元数据标识是 id,详情及字段接口使用 Path 参数 objectId。以接口返回对象核对映射。
  • 资产目录 catalogId、目录结构 structureId、资产 assetId 与底层元数据 objectId 不同。
  • 标准 domainId 与 domainCode 不同;指标、标准代码也有各自的编号。
  • SQLink 节点 id 为 String,不能直接当作 DAM 的数字 objectId;跨服务应建立经确认的映射。
  • 长整型标识在 JavaScript 中可能超过安全整数范围,接入系统应采用不会丢失精度的解析和存储方式。

异常、重试与日志 ​

现象调用方处理
401 或重定向到登录页重新认证,检查是否实际返回 HTML;不把登录页当作成功 JSON
403 或对象不可见核对身份、模块及对象范围;不改用跳过权限校验的接口
400、404核对服务前缀、方法、参数类型和对象是否存在
429、网关繁忙或临时 5xx只读请求采用有上限的退避重试;是否支持 429 以部署为准
200 但外层业务状态失败检查 status、msg 或服务实际错误结构,不能只判断 HTTP
599 等部署自定义错误码保存脱敏错误摘要并联系服务管理员,不将其等同于标准 HTTP 状态语义

写入与启动任务没有经核实的统一幂等键。超时后先查询对象或任务状态,再决定是否补交,避免重复创建或重复执行。日志保留时间、方法、路径、脱敏条件、对象及实例标识、HTTP 和业务状态;删除凭据、连接密码和原始问题数据。

联调完成检查 ​

  1. 用集成身份查询一条可见对象和一条无权限对象,确认边界。
  2. 比较页面与 API 的名称、来源、状态和数量,并验证分页终止条件。
  3. 验证凭据过期、缺参、对象不存在和服务异常的处理分支。
  4. 记录环境构建版本及接口契约;升级后重复业务场景回归。