6.2 Nest - Js - Cheat-Sheet
6.2 Nest - Js - Cheat-Sheet
6.2 Nest - Js - Cheat-Sheet
Página de Atajos
Instalar Nest.js CLI: Command line interface
# Confirmar qué hará el comando
nest g s nombre --dry-run | -d
Nuevo proyecto: en el path actual
nest g -h
nest g s nombre -h Argumentos de Métodos HTTP:
Aplica a cualquier método http
# Default Get
Componentes comunes: Añadir -h para extras
@Get()
# Crear una clase
nest g cl <path/nombre> # Con segmento dinámico
@Get(':id')
# Crear un controlador
# Especificando una ruta
nest g co <path/nombre>
@Get('cats/breed')
@Get(['cats','breed'])
# Crear un decorador
nest g d <path/nombre> # Paths dinámicos
@Get(':product/:size')
# Crear un guard
nest g gu <path/nombre>
Extraer información de la solicitud (request)
# Crear un interceptor
# Obtener parámetros / segmentos
nest g in <path/nombre> @Param('id')
# Crear un módulo # Obtener el body de la petición
nest g mo <path/nombre> @Body()
@Get(':id')
Pipes integrados por defecto
async findOne(
@Param('id', ParseIntPipe) id: number
ValidationPipe ParseIntPipe ){
ParseBoolPipe ParseArrayPipe return this.catsService.findOne(id);
}
ParseFloatPipe ParseUUIDPipe
https://docs.nestjs.com/ fernando-herrera.com
NestJS
Página de Atajos
Librerías externas útiles:
Building Blocks:
yarn add class-validator Guards:
Usados para permitir o prevenir acceso a una ruta.
Ej: Aquí es donde se debe de autorizar una solicitud.
Interceptors:
IsOptional IsPositive IsMongoId
Before Interceptor: interceptan la solicitud (request) y
IsArray IsString IsUUID la pueden transformar completamente basado en las
IsDecimal IsDate IsDateString necesidades.
new ValidationPipe({
whitelist: true, Controllers:
forbidNonWhitelisted: true, Controlan rutas, son los encargados de escuchar la
}) solicitud y emitir una respuesta.
whiteList: Remueve todo lo que no está Decoradores: Estos se puede aplicar a cualquier nivel
incluído en los DTOs
Expanden la funcionalidad de el método, propiedad o
forbidNonWhiteListed: Retorna bad request clase a la cual se adjuntan. Nest.js busca aplicar el
si hay propiedades en el objeto no requeridas
principio DRY fuertemente con decoradores.
Services:
src Alojan la lógica de negocio de tal manera que sea
- common reutilizable mediante inyección de dependencias.
——— filters
Exception Filters:
Con guraciones globales:
Maneja los errores de código en mensajes de
Que no requieren el “execution context”
respuesta http. Usualmente Nest ya incluye todos los
const app = await NestFactory.create(AppModule); casos de uso comunes, pero se pueden expandir
basado en las necesidades.
RequestTimeoutException GoneException
PayloadTooLargeException InternalServerErrorException
https://docs.nestjs.com/ fernando-herrera.com
SesgATeB
fi
fi
NestJS
Página de Atajos
npm i @nestjs/config
Before Interceptor
app.module.ts
@Module({
Pipes imports: [ConfigModule.forRoot()],
})
Mismo Interceptor export class AppModule {}
constructor(
private readonly configService:ConfigService
){}
@Module({
imports: [
ServeStaticModule.forRoot({
rootPath: join(__dirname,’..’,’public’),
})
],
Exception Filters
})
export class AppModule {}
https://docs.nestjs.com/ fernando-herrera.com
ccccc
oo
fi
fi
fi
fi