Я использую Nest JS и пакет class-validator.
В следующей функции должен быть создан пользователь. У вас должна быть возможность добавить бронирование к запросу.
@Post()
async create(@Body('user') userToCreate: createUserDTO, @Body('booking') bookingToCreate: createBookingDTO | undefined): Promise<User> {
return await this.usersService.create(userToCreate, bookingToCreate);
}
Если в запросе нет поля «бронирование», его значение равно undefined
. Я подтвердил это с помощью typeof req.body.booking === 'undefined'
.
Вместо того, чтобы принимать 'undefined'
в качестве действительного значения, глобальная ValidationPipe вызывает класс-валидатор и жалуется, что резервирование не соответствует createBookingDTO - логически.
Как я могу пометить @Body как необязательный, чтобы проверка пропускалась, если значение не существует и, следовательно, 'undefined'
допустимо?
Большое спасибо!