From 253c6c3afab31af693680d77eab5db0b56d92f18 Mon Sep 17 00:00:00 2001 From: xcs Date: Tue, 25 Aug 2026 19:01:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3:=E8=A1=A5=20412=20preconditi?= =?UTF-8?q?on-failed=20=E7=8A=B6=E6=80=81=E7=A0=81=E8=AF=B4=E6=98=8E,?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20Keycloak=20=E5=89=8D=E7=BD=AE=E7=BC=96?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 评审逐个核六条会返 412 的路由(流程包写回/启用、活动包安装两审、决议登记、 汇报提交、入站通道),发现 §0「状态码怎么读」表漏了 412 —— 这六条路由全在本文 自己的 §6 总表里,漏了会让照文档接的人撞上一个查不到含义的状态码。补一行说清 412 不是权限/参数问题,是「此刻办不了」。 另修一处编号错误:示例来源注明里把 e2e 服务账号 client(bpos-e2e)前置写成了 「前置 1」,按 spec 编号应为「前置 4」(前置 1 是本服务 client api-gateway)—— 前端对接说明那份原本就写对,这次只改 API 文档这一处。 --- docs/API文档-鉴权与人员.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/API文档-鉴权与人员.md b/docs/API文档-鉴权与人员.md index 3a155f5..c38a56e 100644 --- a/docs/API文档-鉴权与人员.md +++ b/docs/API文档-鉴权与人员.md @@ -24,6 +24,7 @@ | 404 | `not-found` | 无此路由(**先 401 后 404**:没登录的人探不到路由表)/ 对象不存在 | | 409 | `conflict` | 角色 → 端改完没人能进运营中心;删 LLM 实例还有活动引用 | | 410 | `gone` | 路由随统一鉴权中心退役(§5) | +| 412 | `precondition-failed` | 入参合法、权限也够,但**这件事此刻办不了**:流程包写回生效版本 / 启用时闭合校验没过、活动包安装两审(静态审计 + 回放)未过、决议已登记过不重复起单、汇报已提交过、入站邮件通道已停用。`detail` 常带闭合报告或安装审计结论 | | 400 | `validation-failed` | 入参不合 schema,`detail` 是 zod issues | ## 1. 身份 @@ -363,4 +364,4 @@ curl -s -X POST http://localhost:8787/api/login | jq . ``` Task 12 已用契约(`packages/contracts/src/api/*.ts` + `org.ts`)核过本文:§6 总表逐行比对生成表、§7 字段名逐个核对 schema —— 全部一致,零改动。 -示例里的 UUID / 岗位 id / 时间戳仍按契约构造 —— 真实响应需要 Keycloak 侧前置 1(建 `bpos-e2e` 一类 `serviceAccountsEnabled` 的 client、授 realm 角色、挂 audience mapper)先就位,这是管理员的活,本轮未就位;前置就位后用 §8 给的 curl 序列换成真实响应。 +示例里的 UUID / 岗位 id / 时间戳仍按契约构造 —— 真实响应需要 Keycloak 侧前置 4(e2e / 试跑服务账号 client `bpos-e2e`:`serviceAccountsEnabled`、realm 角色 `admin`、挂本服务 audience mapper)先就位,这是管理员的活,本轮未就位;前置就位后用 §8 给的 curl 序列换成真实响应。