Да, вы можете использовать перехватчик для сериализации данных в и из вашего API.
https://docs.nestjs.com/techniques/serialization
И вы можете использовать Sanitize Pipe, просто убрать мусор, который идет с вашим запросом тела, на основе вашего типа параметра.
import {ArgumentMetadata, Injectable, PipeTransform} from '@nestjs/common';
import {plainToClass} from 'class-transformer';
@Injectable()
export class SanitizePipe implements PipeTransform {
constructor(private readonly className: any) {}
transform(value: any, metadata: ArgumentMetadata) {
return plainToClass(this.className, value, {excludeExtraneousValues:true}) as object as any;
}
}
, и вы можете применить этот канал, работающий в качестве декоратора на вашем контроллере:
@UsePipes(new SanitizePipe(CreateUserDTO))
Надеюсь, это помогает.