标签: NestJS
该标签下的所有文章 "NestJS".
NestJS 使用 Interceptor 统一响应,并通过装饰器自定义 message
本文介绍如何在 NestJS 中使用 Interceptor 统一响应,并通过装饰器自定义 message,包括统一响应结构、Interceptor 位置、实现全局响应拦截器、用 SetMetadata 声明接口消息、使用 Reflector 读取元数据、注册为全局拦截器、默认 message 的两种策略、错误响应应该怎样处理、避免重复包装、单元测试、常见误区等。
NestJS 使用 class-validator 做字段参数校验
本文介绍如何在 NestJS 中使用 class-validator 做字段参数校验,包括必填项、字符串、邮箱、布尔值、可选字段和额外字段校验等。
NestJS 使用 class-transformer 统一格式化响应字段
本文介绍如何在 NestJS 中使用 class-transformer 统一格式化响应字段,包括删除敏感字段、格式化日期、枚举和关联对象等。
NestJS 在 Service 之外增加抽象类与 Repository 层
在简单 CRUD 中,直接把 TypeORM 的 `Repository<User>` 注入 Service 完全可行。但随着重复检查、事务、缓存、查询策略和数据源切换不断增加,Service 很容易同时承担业务编排与数据库细节。增加 Repository 层的目的不是让目录更多,而是建立稳定的数据访问边界。
NestJS 接入 MySQL 数据库
本文以 NestJS、TypeORM 和 MySQL 为例,演示如何完成一套基础数据库接入,并通过 `User` 模块实现一个简单的用户列表查询接口。
NestJS 中使用 Middleware 中间件
在 NestJS 中使用 Middleware 中间件,实现一个简单的请求ID中间件,用于追踪请求链路。
NestJS 优雅实现环境变量配置与校验
在 NestJS 中基于 @nestjs/config 和 joi 实现优雅的环境变量配置与校验。
NestJS 中 Module、Controller 和 Service 的直接关系
NestJS 项目通常从 `Module`、`Controller` 和 `Service` 三类文件开始。本文以 NestJS 默认生成的 `AppModule`、`AppController` 和 `AppService` 为例,说明三者的职责边界、依赖关系和一次 HTTP 请求在它们之间的流转过程。