我有一个没有入口参数的端点:
async myendpoint(): Promise<any> {
const customer = await this.customerService.findOne(1);
if (customer) {
return await this.customerService.mapToDestination(customer);
}...
}
然后我有我的方法 mapToDestination,我只需分配变量:
async mapToDestination(customer: Customer): Promise<DestinationDto> {
const destination: DestinationDto = {
lastname: customer.lastname,
firstname: customer.firstname,...
最后,我有我的 DTO:
import {IsEmail, IsNotEmpty, IsOptional, IsNumber, IsBoolean, IsString, IsDate, MaxLength, Length, NotEquals} from 'class-validator';
import {ApiProperty} from '@nestjs/swagger';
export class DestinationDto {
@IsString()
@IsNotEmpty()
@MaxLength(32)
lastname: string;
@IsString()
@IsNotEmpty()
@MaxLength(20)
firstname: string; ...
mapToDestination()
当我在我的方法中映射它时,我希望在装饰器之后自动验证我的 DTO 字段。我浏览了网络和官方文档,并尝试了验证器(ValidationPipe),但它似乎不是我的需要,因为它验证了端点条目参数。
拜托,你能向我解释一下如何实现这种自动验证吗?提前致谢。