计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
nestjs-controllers-services【效率与协作】Separate Controllers from Services and build Custom Decorators in NestJS. Use when defining NestJS controllers, services, or custom parameter decorators.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
ExecutionContext helpers (switchToHttp()) for platform-agnostic code.@Request() req -> req.user (Not type-safe).@CurrentUser(), @DeviceIp().import { RequestWithUser } from 'src/common/interfaces/request.interface';
export const CurrentUser = createParamDecorator(
(data: unknown, ctx: ExecutionContext): User => {
const request = ctx.switchToHttp().getRequest<RequestWithUser>();
return request.user;
},
);
whitelist: true: Strip properties without decorators.forbidNonWhitelisted: true: Throw error if unknown properties exist.transform: true: Auto-convert primitives (String '1' -> Number 1) and instantiate DTO classes.@nestjs/swagger CLI plugin in nest-cli.json auto-detects DTO properties — no manual @ApiProperty().map() wraps success responses (e.g. { data: T }).PageDto and ApiResponse.catchError() maps low-level errors (DB constraints) to HttpException (e.g. ConflictException) before global filter.Scope.REQUEST.ValidationPipe globally.ParseIntPipe, ParseUUIDPipe on all ID parameters.@Get(':id')
findOne(@Param('id', ParseIntPipe) id: number) { ... }
OnModuleInit for connection setup.OnApplicationShutdown for cleanup. (Requires enableShutdownHooks()).@CurrentUser() decorator instead of accessing raw req.