Передача данных от сущности к DTO с помощью Nestjs

#typescript #nestjs

Вопрос:

Мне нужно получить user подробную информацию. После запроса я получаю User Entity :

 export class User{
    name: string;
    username:string;
    password:string;
    salt:string;
}
 

Но я не хочу возвращаться user password , поэтому я создаю DTO :

 export class GetUserDto{
    name: string;
    username:string;
}
 

Итак, каков наилучший способ передачи данных из Entity в Dto без нежелательного поля?

Комментарии:

1. Я хочу найти способ продвижения в nestjs фреймворке вместо встроенного javascript

2. используйте канал проверки в nestjs со whitelist значением true. вы можете прочитать об этом подробнее docs.nestjs.com/techniques/validation

3. вы также можете использовать эту библиотеку: automapperts.netlify.app

Ответ №1:

Вы можете использовать сериализацию, см. Это => >https://docs.nestjs.com/techniques/serialization

Пример :

 import { Exclude } from 'class-transformer';

export class User {
  public name: string;
  public username:string;
  public salt:string;

  @Exclude()
  public password: string;

  constructor(partial: Partial<UserEntity>) {
    Object.assign(this, partial);
  }
}