cursor-init/docs/life.md
expressgy 2ee70e5d42 feat: 完成健康检查接口和Swagger文档完善
 健康检查功能:
- 实现完整的健康检查接口(/api/health, /api/health/detailed)
- 支持MySQL和Redis依赖状态检查
- 包含系统信息、性能指标监控
- 修复this上下文问题,确保服务方法正常调用
- 添加全面的健康检查测试用例

📝 Swagger文档优化:
- 创建全局响应Schema定义和错误码说明
- 完善API文档,包含详细的错误码表格
- 添加JWT认证说明和响应格式示例
- 增加全局组件、响应模板和示例
- 创建Swagger文档功能测试

🎯 任务完成:
-  5.0 健康检查接口 - 实现系统和依赖健康状态监控
-  7.0 Swagger文档完善 - 增加全局响应示例和错误码说明

📁 新增文件:
- src/controllers/health.controller.ts - 健康检查控制器
- src/services/health.service.ts - 健康检查服务层
- src/type/health.type.ts - 健康检查类型定义
- src/validators/health.response.ts - 健康检查响应验证
- src/validators/global.response.ts - 全局响应Schema定义
- src/tests/health.test.ts - 健康检查功能测试
- src/tests/redis.test.ts - Redis连接测试
- src/tests/swagger.test.ts - Swagger文档功能测试
2025-06-28 22:09:02 +08:00

76 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

您询问的是 Elysia 的完整生命周期。
## 答案
Elysia 的完整生命周期包含以下阶段,按执行顺序排列:
### 1. start (服务器启动)
服务器启动时执行的钩子 [1](#3-0)
### 2. request (请求接收)
请求到达时最早执行的钩子,在路由匹配之前 [2](#3-1)
### 3. parse (请求体解析)
解析请求体内容,支持多种内容类型 [3](#3-2)
### 4. transform (上下文转换)
转换请求上下文,可以修改请求数据 [4](#3-3)
### 5. derive (派生上下文)
派生新的上下文属性,实际上是 transform 的子类型 [5](#3-4)
### 6. resolve (解析依赖)
解析依赖注入,实际上转换为 beforeHandle 钩子 [6](#3-5)
### 7. beforeHandle (处理前)
在主处理器执行前运行,可以进行验证和预处理 [7](#3-6)
### 8. handler (主处理器)
执行路由的主处理函数
### 9. afterHandle (处理后)
在主处理器执行后运行,可以修改响应 [8](#3-7)
### 10. mapResponse (响应映射)
将处理器返回值映射为 HTTP 响应 [9](#3-8)
### 11. afterResponse (响应后)
响应发送后执行,用于日志记录和清理 [10](#3-9)
### 12. error (错误处理)
在任何阶段发生错误时执行 [11](#3-10)
### 13. stop (服务器停止)
服务器关闭时执行的钩子 [12](#3-11)
### 生命周期执行流程
在 AOT 编译模式下,这些钩子会被编译成优化的 JavaScript 代码 [13](#3-12) 。在动态模式下,则通过运行时解释执行 [14](#3-13) 。
### trace (追踪)
贯穿整个生命周期的追踪系统,用于调试和监控 [15](#3-14)
## Notes
生命周期钩子支持不同的作用域global、scoped、local影响它们在插件间的继承行为。每个钩子都可以返回早期响应来短路后续处理流程。这个设计使得 Elysia 具有高度的可扩展性和灵活性。
Wiki pages you might want to explore:
- [Request Pipeline (elysiajs/elysia)](/wiki/elysiajs/elysia#2)
- [Routing (elysiajs/elysia)](/wiki/elysiajs/elysia#2.2)
- [Lifecycle Hooks (elysiajs/elysia)](/wiki/elysiajs/elysia#2.3)