Por qué @Transform no se ejecuta en class-transformer y cómo solucionarlo

Guía sobre por qué @Transform puede dejar campos derivados undefined y cómo solucionarlo con @Expose, excludeExtraneousValues, exposeAll o getters para DTOs.

8 sept 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Si alguna vez has usado class-transformer con @Transform es posible que te hayas encontrado con que una propiedad derivada aparece como undefined aun cuando agregaste @Transform.

El motivo es sencillo: por defecto class-transformer solo ejecuta @Transform en las propiedades que existen en el objeto plano de entrada. Si el objeto plano solo contiene la clave email, por ejemplo { email: abc@test.com }, entonces cualquier propiedad que no esté presente, como normalized_email, se omite y su transformador no se dispara.

La solución directa es forzar que esa propiedad entre en el pipeline de transformación usando @Expose. Si decoras normalized_email con @Expose y con @Transform el transformador se ejecutara incluso si la clave normalized_email no estaba en el objeto plano de entrada.

Otra alternativa global si no quieres añadir @Expose en cada atributo es ajustar las opciones globales de transformación. Por ejemplo activar excludeExtraneousValues hace que solo se conserven las propiedades marcadas con @Expose, lo que obliga a declarar explícitamente lo que debe mantenerse. Otra opción es usar la estrategia exposeAll para que todas las propiedades queden expuestas por defecto y solo uses @Expose donde necesites un transformador especial.

Si no quieres lidiar con decoradores, una solución simple y fiable es usar un getter calculado en la clase. Definir get normalized_email() { return this.email } evita la necesidad de @Expose o @Transform y siempre devuelve el valor derivado.

Resumen de buenas prácticas: usar @Transform solo si la propiedad existe o combinarlo con @Expose para forzar su ejecución; considerar excludeExtraneousValues o la estrategia exposeAll para control global; y usar getters para propiedades derivadas sencillas y deterministas.

En Q2BSTUDIO somos una empresa de desarrollo de software que ayuda a equipos y empresas a implementar buenas prácticas en arquitecturas y DTOs, así como soluciones robustas de aplicaciones a medida y software a medida. Si necesitas apoyo implementando transformaciones, validaciones y patrones de datos en proyectos reales, nuestros servicios abarcan desde desarrollo de aplicaciones a medida hasta soluciones de inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Contamos con experiencia en ciberseguridad y pentesting para garantizar que tus pipelines y datos estén protegidos y en arquitecturas cloud escalables y seguras.

Si quieres que te ayudemos a elegir la mejor estrategia entre getters, transforms o exposures para tus DTOs o necesitas un desarrollo a medida que integre inteligencia artificial, agentes IA, analitica con power bi o despliegue en servicios cloud aws y azure, ponte en contacto y te asesoramos.

Y tu, te has encontrado con este comportamiento de @Transform alguna vez? Como sueles manejar campos derivados en DTOs getters, transforms u otra estrategia? Cuentanos tu experiencia.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat