用途:为 NestJS 项目提供控制器、服务与自定义装饰器的编码规范,属 P0 关键级。
主要能力:控制器仅作处理入口,逻辑委托给服务;用 ExecutionContext 的 switchToHttp() 编写与平台无关代码;禁止直接 @Request() req 取 req.user,改为创建 @CurrentUser()、@DeviceIp() 之类的类型化装饰器。DTO 校验要求 whitelist: true,并使用 forbidNonWhitelisted: true 对未知属性抛错,transform: true 自动转换原始类型并实例化 DTO;可借助 nest-cli.json 中的 @nestjs/swagger CLI 插件自动识别 DTO 属性。响应映射放在拦截器中:map() 包装成功响应,catchError() 在全局过滤器前把数据库约束等底层错误转成 HttpException。服务默认 Singleton 且无状态;全局注册 ValidationPipe,ID 参数使用 ParseIntPipe、ParseUUIDPipe 快速失败;用 OnModuleInit 做连接初始化,OnApplicationShutdown 做清理(需 enableShutdownHooks())。
使用方式与限制:文中给出 CurrentUser 装饰器与 ParseIntPipe 路由参数的示例代码,须保持原样。应避免在控制器写业务逻辑、避免直接访问 req.user、避免默认使用 REQUEST 作用域。详细示例见其装饰器、管道与生命周期参考部分;收费、平台与效果信息暂未提供。