验证状态:已源码核验、未联调;适用基线:Web
7fe6dd10、services89bd222c;核验日期:2026-09-12
按 translationId 读取单条翻译词条。当前 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-8;Authorization: Bearer <token> |
| 序列化 | query 由 qs.stringify(params, { arrayFormat: "repeat" }) 构造(translationApi.ts:17) |
需要有效登录态,并满足 administrator 角色或 configuration-translation:read(TranslationController.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 | 命中/未命中 | 是 | — | 词条对象:translationId、language、namespace、key、value、createdUsername、createdTime、lastModifiedUsername、lastModifiedTime、deleteTime、revision、tenantId;类型同翻译列表 |
TranslationGetByIdResponseDTO.java;TranslationMapper.xml#127 selectOneResponseDTOByTranslationId |
Controller 使用的是无缓存版本 getByTranslationId(TranslationController.java:133);getByTranslationIdCache(jetcache BOTH,10 秒)当前 Web 链路未使用。
status=200 即读取完成;data=null 表示未命中(含跨租户不可见),不是错误。
按已核验契约构造的示例,不是真实联调记录。
请求:GET /main-service/system-api/configuration/translation/getById?id=tr-01
成功响应:
认证失败/请求校验失败(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 getById;TranslationMapper.xml#127 |
证据文件与 HEAD 一致 |
| JSON 字段与时间类型 | 已源码核验 | services 89bd222c |
TranslationGetByIdResponseDTO.java |
证据文件与 HEAD 一致 |
| 真实部署联调 | 未执行 | — | 未发送请求 | — |