Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
Exponer un captador personalizado en un DTO de respuesta no funciona

He intentado definir un captador personalizado como este:

 import { Expose } from 'class-transformer'; export class MyDTOResponse { @Expose() id: string; @Expose() name: string; @Expose() get thisIsATest(): string { return 'yolo'; } }

Así es como lo transformo:

 plainToClass(MyDTOResponse, MyRawDataObject, { excludeExtraneousValues: true, });

Como se describe en la documentación aquí: https://github.com/typestack/class-transformer#exposing-getters-and-method-return-values

Sin embargo, la respuesta es sólo:

 { "id": "f8c213c7-5853-4d01-b424-cb0349a6c580", "name": "Clean the kitchen!" }

No estoy seguro de qué estoy haciendo mal exactamente, pero me falta la propiedad "thisIsATest".

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

plainToClass devolverá una instancia. Si console.log esta instancia, no puede ver la propiedad "thisIsATest". Puedes probar el siguiente código:

 const res = plainToClass(MyDTOResponse, MyRawDataObject, { excludeExtraneousValues: true, }); console.log(res.thisIsATest); // yolo console.log(instanceToPlain(res)) // { // id: 'f8c213c7-5853-4d01-b424-cb0349a6c580', // name: 'Clean the kitchen!', // thisIsATest: 'yolo' // }

Por cierto, plainToClass está en desuso, use el método plainToInstance en su lugar.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda