用途:面向生产级 NestJS 的模块化 TypeScript 后端开发模式,适用于构建 NestJS API 或服务、组织模块/控制器/提供者、添加 DTO 校验/守卫/拦截器/异常过滤器、配置环境相关设置与数据库集成,以及测试 NestJS 单元或 HTTP 端点。
主要能力与用法: 结构上,将领域代码放在功能模块内,跨切面的过滤器、装饰器、守卫、拦截器放入 common/,DTO 靠近所属模块。启动时通过 app.useGlobalPipes 配置全局 ValidationPipe,启用 whitelist、forbidNonWhitelisted、transform,并注册全局拦截器与过滤器,公共 API 建议始终开启 whitelist 与 forbidNonWhitelisted。控制器保持精简,只解析 HTTP 输入、调用提供者、返回响应 DTO,业务逻辑放在可注入服务中,仅导出其他模块真正需要的提供者。使用 class-validator 校验每个请求 DTO,用专用响应 DTO 或序列化器替代直接返回 ORM 实体,避免泄露密码哈希、令牌、审计列等内部字段。认证与授权方面,将鉴权策略与守卫保持模块内局部使用,守卫处理粗粒度访问规则,服务内做资源级授权。异常过滤器可统一错误响应结构,对预期客户端错误抛出框架异常,集中记录并包装意外失败。配置通过 ConfigModule.forRoot 加载并在启动时校验环境变量,将配置访问封装在类型化辅助函数或配置服务之后。持久化上,仓库/ORM 代码置于使用领域语言的提供者之后,事务工作流由拥有工作单元的服务隔离,控制器不直接协调多步写入。测试可用 Test.createTestingModule 构建应用,单独以 mock 依赖测试提供者,并为守卫、校验管道、异常过滤器添加请求级测试,复用与生产相同的全局管道和过滤器。
限制:资料未提供安装命令、版本要求、具体依赖清单、性能数据或收费信息,暂未提供。