07 功能扩展 Demo
对应文档: 07 常用功能扩展
Demo 目录: practice/07-extensions
运行方式
bash
cd practice/07-extensions
npm install
npm start访问入口
| 地址 | 内容 |
|---|---|
| http://localhost:3000/api | Swagger UI(所有 REST 接口) |
| http://localhost:3000/graphql | GraphQL Playground |
test-ws-client.html | WebSocket 浏览器测试客户端(直接用浏览器打开) |
7 个模块
| 路由前缀 | 功能 | 关键演示 |
|---|---|---|
GET/POST /users | Swagger 注解 | @ApiProperty / @ApiBearerAuth / 分页 DTO |
POST /files/avatar | 文件上传 | FileInterceptor + ParseFilePipe(大小/类型校验) |
GET /cache/products/:id | 缓存 | Cache-Aside,重复请求观察 source: cache |
GET /scheduler/log | 任务调度 | Cron(10s)/ Interval(5s)/ 一次性 Timeout |
POST /queue/jobs | 队列 | name=fail-job 触发指数退避重试演示 |
/chat(WebSocket) | 实时通信 | 房间加入/发送/广播,用 HTML 客户端测试 |
/graphql | GraphQL | Query / Mutation,Playground 交互 |
需要 Redis 的功能
默认使用内存实现。切换真实 Redis:
bash
docker compose up -d redis # 启动 Redis然后参照文档注释替换为 BullMQ / cache-manager Redis Store。