#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
фреймворке вместо встроенного javascript2. используйте канал проверки в nestjs со
whitelist
значением true. вы можете прочитать об этом подробнее docs.nestjs.com/techniques/validation3. вы также можете использовать эту библиотеку: 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);
}
}