tengo una entidad
@Column() name: string; @IsEmail() email: string; @Column({ select: false }) autogeneratedCode: string;Obtengo el nombre y la cadena solo en mi respuesta de solicitud GET que se espera.
Pero cuando llego a mi POST Api con el cuerpo, también devuelve el name , el email y el autogeneratedCode .
Necesito ocultar el código autogenerado en todas las respuestas CRUD.
¿Hay alguna manera de hacerlo? o ¿Me estoy perdiendo algo aquí?
Puede usar @Exclude() de 'class-transformer'
Ejemplo
import { Exclude } from 'class-transformer'; @Entity() export class User { @Column() name: string; @IsEmail() email: string; @Column({ select: false }) @Exclude() autogeneratedCode: string; constructor(entity: Partial<User>) { Object.assign(this, entity); } } Luego puede usar el constructor para crear un nuevo objeto que excluya las propiedades @Exclude() .
export class UserService { constructor( @InjectRepository(User) private userRepository: Repository<User> ) {} public async createUser(user: User): Promise<User> { return new User( await this.userRepository.save(user) ); } }NestJS Doc sobre serialización
https://docs.nestjs.com/techniques/serialization#exclude-properties