diff --git a/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md b/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md index 665033d1..af2c8924 100644 --- a/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md +++ b/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md @@ -45,7 +45,8 @@ 交付物:[../server-rs/README.md](../server-rs/README.md) - [x] 创建 workspace `Cargo.toml` 交付物:[../server-rs/Cargo.toml](../server-rs/Cargo.toml) -- [ ] 创建 `crates/api-server` +- [x] 创建 `crates/api-server` + 交付物:[../server-rs/crates/api-server/README.md](../server-rs/crates/api-server/README.md) - [ ] 创建 `crates/spacetime-module` - [ ] 创建 `crates/application` - [ ] 创建 `crates/domain` diff --git a/server-rs/README.md b/server-rs/README.md index 9a331270..b141e1aa 100644 --- a/server-rs/README.md +++ b/server-rs/README.md @@ -18,20 +18,20 @@ 1. 为新后端预留正式目录并把路径固定到仓库结构中。 2. 创建虚拟 workspace `Cargo.toml`,后续 crate 会逐项挂入。 +3. 创建 `crates/api-server/` 目录占位,固定 Axum 入口 crate 落位。 后续任务会继续在本目录内按顺序补齐: -1. `crates/api-server` -2. `crates/spacetime-module` -3. `crates/application` -4. `crates/domain` -5. `crates/contracts` -6. `crates/auth-service` -7. `crates/oss-service` -8. `crates/llm-service` -9. `crates/spacetime-client` -10. `crates/tests` -11. `scripts/*` +1. `crates/spacetime-module` +2. `crates/application` +3. `crates/domain` +4. `crates/contracts` +5. `crates/auth-service` +6. `crates/oss-service` +7. `crates/llm-service` +8. `crates/spacetime-client` +9. `crates/tests` +10. `scripts/*` ## 3. 已冻结边界 diff --git a/server-rs/crates/api-server/README.md b/server-rs/crates/api-server/README.md new file mode 100644 index 00000000..85c45341 --- /dev/null +++ b/server-rs/crates/api-server/README.md @@ -0,0 +1,34 @@ +# api-server crate 占位说明 + +日期:`2026-04-20` + +## 1. crate 职责 + +`api-server` 是新后端的 Axum 入口 crate,后续负责: + +1. `main.rs` 启动入口 +2. `Router` 装配 +3. `with_state` 共享状态注入 +4. 中间件挂载 +5. `/healthz`、`/api/*`、SSE 与静态资源兼容层装配 + +## 2. 当前阶段说明 + +当前提交仅完成目录占位,不提前进入具体实现。 + +后续与本 crate 直接相关的任务包括: + +1. 搭建 `main.rs` / `Router` / `with_state` +2. 接入统一配置加载 +3. 接入统一日志与 tracing +4. 接入 `request_id` +5. 接入统一错误处理中间件 +6. 接入 response envelope +7. 接入 `/healthz` + +## 3. 边界约束 + +1. `api-server` 负责 HTTP、SSE、Cookie、Header、路由与协议装配。 +2. 业务编排下沉到 `application` crate。 +3. 外部副作用通过 `auth-service`、`oss-service`、`llm-service` 与后续基础设施适配层完成。 +4. 不把领域规则直接堆在 handler 中。