Estoy tratando de usar 2 dto separados para parámetros de consulta en NestJs. Sin embargo, al imprimir, ambos dtos muestran las mismas propiedades. ¿Hay alguna forma de separarlos?
// codigo dto
export class PageDto { @Type(() => Number) @IsInt() page: number; @Type(() => Number) @IsInt() limit: number; } export class MyDto { @ApiPropertyOptional() @IsString() @IsOptional() status: string; @ApiPropertyOptional() @IsString() @IsOptional() source: string; }Solicitud de API:
OBTENER url?page=1&limit=10&status='active'&source='firebase'
controlador:
@Get() async get( @Query() myDto: MyDto, @Query() pageDto: PageDto, ) { console.log({pageDto}, {myDto}); }Se imprime la declaración de la consola:
{ pageDto: { page: 1, limit: 10, status: 'active', source: 'firebase' } } { myDto: { page: 1, limit: 10, status: 'active', source: 'firebase' } }Requerido:
{ pageDto: { page: 1, limit: 10 } } { myDto: { status: 'active', source: 'firebase' } }Idealmente, pageDto y myDto deberían mostrar sus respectivas propiedades.
Deberá configurar whitelist: true en sus opciones de ValidationPipe para decirle a class-transformer y class-validator que eliminen las propiedades que no existen en el DTO.