我尝试使用类转换器中的 plainToInstance 函数,但是当我尝试将字段从静止映射到我的 DTO 时,它可以映射,但在我的 DTO 中不正确,我有一些想要响应的字段,但映射完成后它返回所有字段
async createContainer(@Query('name') name:string): Promise<CreateContainerDto> {
console.log(name);
try{
const res = await this.imageService.createContainer(name)
const dto = plainToInstance(CreateContainerDto,res)
console.log(res);
console.log(dto);
return dto
}
这是我的服务尝试将响应映射到 DTO
import { IsDate, IsString } from "class-validator"
export class CreateContainerDto{
@IsString()
etag: string
@IsString()
requestId: string
@IsDate()
date: Date
}
我想向用户响应某些字段
plainToInstance
函数已弃用,请使用 plainToClass
代替,如下所示:
const dto = plainToClass(
CreateContainerDto,
res,
{ excludeExtraneousValues: true }
)
并在你的d中暴露你想要展示的道具。
import { IsDate, IsString, Expose } from "class-validator"
export class CreateContainerDto{
@Expose()
@IsString()
etag: string
@Expose()
@IsString()
requestId: string
@Expose()
@IsDate()
date: Date
}