按 ID 读取翻译

验证状态:已源码核验、未联调;适用基线:Web 7fe6dd10、services 89bd222c;核验日期:2026-09-12

用途与 App 场景

translationId 读取单条翻译词条。当前 Web 编辑页与查看页加载详情均使用本操作。

Web 使用位置

页面/功能 角色或空间分支 调用证据
翻译编辑页加载 当前 $spaceId;后端授权 administrator 或 configuration-translation:read app/routes/($lng).$spaceId.configuration.translation.edit.$translationId/route.tsx:77
翻译查看页加载 同上 app/routes/($lng).$spaceId.configuration.translation.view.$translationId/route.tsx:45

协议身份

operationId http-get-main-service-system-api-configuration-translation-getbyid-68439b3d
method + path GET /main-service/system-api/configuration/translation/getById
base URL 当前 Web 使用同源相对 URL
headers Accept: application/json;charset=UTF-8Authorization: Bearer <token>
序列化 query 由 qs.stringify(params, { arrayFormat: "repeat" }) 构造(translationApi.ts:17

前置条件与权限

需要有效登录态,并满足 administrator 角色或 configuration-translation:readTranslationController.java:129)。数据受租户拦截器约束;跨租户/未命中时 data=null 而非错误(selectOneResponseDTOByTranslationId 单条查询语义,租户拦截器改写后未命中返回 null)。认证与空间

输入

JSON 路径/参数 JSON 类型 位置 必填 可空 默认值 枚举/范围/单位 说明 字段证据
id string query @NotBlank("id Cannot be empty.") 翻译主键 translationId(≤32 字符) TranslationController.java:130-132

输出、应答或事件

JSON 路径 JSON 类型 出现条件 可空 枚举/范围/单位 说明 字段证据
timestamp/status/error/localizedError/path 同信封 JSON 响应 成功信封 status=200 gt-common-core/src/main/java/tech/gt/api/ApiResult.java
extraData object 成功 恒为 {} ApiResult.java
data object | null 命中/未命中 词条对象:translationIdlanguagenamespacekeyvaluecreatedUsernamecreatedTimelastModifiedUsernamelastModifiedTimedeleteTimerevisiontenantId;类型同翻译列表 TranslationGetByIdResponseDTO.javaTranslationMapper.xml#127 selectOneResponseDTOByTranslationId

Controller 使用的是无缓存版本 getByTranslationIdTranslationController.java:133);getByTranslationIdCache(jetcache BOTH,10 秒)当前 Web 链路未使用。

完成判据

status=200 即读取完成;data=null 表示未命中(含跨租户不可见),不是错误。

示例

按已核验契约构造的示例,不是真实联调记录。

请求:GET /main-service/system-api/configuration/translation/getById?id=tr-01

成功响应:

1{
2  "timestamp": 1789142400000,
3  "status": 200,
4  "error": null,
5  "localizedError": null,
6  "path": null,
7  "extraData": {},
8  "data": {
9    "translationId": "tr-01",
10    "language": "zh-CN",
11    "namespace": "translation",
12    "key": "Add",
13    "value": "新增",
14    "createdUsername": "administrator",
15    "createdTime": 1789142400,
16    "lastModifiedUsername": "administrator",
17    "lastModifiedTime": 1789142400,
18    "deleteTime": null,
19    "revision": 1,
20    "tenantId": "default"
21  }
22}

错误与边界

认证失败/请求校验失败id 缺省时 @NotBlank 拒绝)。公共 Web helper 默认 15 分钟超时。读取无副作用,可重试。

调用关系与资源清理

无长连接资源。编辑/查看页挂载时各调用一次。

已知缺口

无已知会阻止按当前源码调用的关键契约缺口。 仅完成双仓静态源码核验,未执行真实 HTTP 或数据库联调。

验证状态与依据

结论 状态 仓库/基线 路径、符号及定位 内容指纹(脏文件)
Web 方法、路径、序列化与消费 已源码核验 web 7fe6dd10 translationApi.ts:17 configurationTranslationGetByIdApi;edit route.tsx:77;view route.tsx:45 证据文件与 HEAD 一致
权限、输入、输出和完成语义 已源码核验 services 89bd222c TranslationController.java:130 getByIdTranslationMapper.xml#127 证据文件与 HEAD 一致
JSON 字段与时间类型 已源码核验 services 89bd222c TranslationGetByIdResponseDTO.java 证据文件与 HEAD 一致
真实部署联调 未执行 未发送请求