Skip to content

07 功能扩展 Demo

对应文档: 07 常用功能扩展

Demo 目录: practice/07-extensions

运行方式

bash
cd practice/07-extensions
npm install
npm start

访问入口

地址内容
http://localhost:3000/apiSwagger UI(所有 REST 接口)
http://localhost:3000/graphqlGraphQL Playground
test-ws-client.htmlWebSocket 浏览器测试客户端(直接用浏览器打开)

7 个模块

路由前缀功能关键演示
GET/POST /usersSwagger 注解@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 客户端测试
/graphqlGraphQLQuery / Mutation,Playground 交互

需要 Redis 的功能

默认使用内存实现。切换真实 Redis:

bash
docker compose up -d redis   # 启动 Redis

然后参照文档注释替换为 BullMQ / cache-manager Redis Store。

NestJS 深度学习体系