feat: 添加路由装饰器系统和全局异常处理

- 新增装饰器支持(@Get, @Post, @Put, @Delete, @Patch, @Controller)
- 实现路由自动注册机制(RouteScanner)
- 添加全局异常处理中间件(Exception)
- 实现统一响应体格式(ApiResponse)
- 新增请求体解析中间件(BodyParser)
- 重构控制器为类模式,支持装饰器路由
- 添加示例用户控制器(UserController)
- 更新TypeScript配置支持装饰器
- 添加reflect-metadata依赖
- 完善项目文档

Breaking Changes:
- 控制器现在返回数据而不是直接设置ctx.body
- 新增统一的API响应格式
This commit is contained in:
2025-09-01 00:14:17 +08:00
parent 47f36cd625
commit 63c1e4df63
15 changed files with 865 additions and 15 deletions

8
pnpm-lock.yaml generated
View File

@@ -23,6 +23,9 @@ importers:
koa:
specifier: ^3.0.1
version: 3.0.1
reflect-metadata:
specifier: ^0.1.13
version: 0.1.14
devDependencies:
'@tsconfig/node-ts':
specifier: ^23.6.1
@@ -1460,6 +1463,9 @@ packages:
reduce-configs@1.1.1:
resolution: {integrity: sha512-EYtsVGAQarE8daT54cnaY1PIknF2VB78ug6Zre2rs36EsJfC40EG6hmTU2A2P1ZuXnKAt2KI0fzOGHcX7wzdPw==}
reflect-metadata@0.1.14:
resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==}
resize-observer-polyfill@1.5.1:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
@@ -2930,6 +2936,8 @@ snapshots:
reduce-configs@1.1.1: {}
reflect-metadata@0.1.14: {}
resize-observer-polyfill@1.5.1: {}
resolve-from@4.0.0: {}