Как добавить декоратор в параметр аргументов в graphql

#typescript #graphql #nestjs

Вопрос:

не могу добавить декоратор @IsUUID() из class-validator в свой параметр productI , я не хочу использовать дополнительный dto. Как это исправить?

 @UseGuards(new AuthGuard(['user', 'admin'])) @Mutation(() =gt; ProductEntity) async updateProduct(  @User() user,  @Args('productId', {})  //@IsUUID() Unable to resolve signature of parameter decorator when called as an expression.  productId: string,  @Args('inputs', {})  inputs: UpdateProductInputDto, ): Promiselt;ProductEntitygt; {  return this.productService.updateProduct(user.id, productId, inputs); }  

Ответ №1:

Тут ничего не поделаешь. Если вы хотите использовать @IsUUID() и ValidationPipe , вы должны использовать класс DTO. Если вы просто хотите проверить UUID , хотя, вы могли бы использовать ParseUUIDPipe . @Args('productId', {}, new ParseUUIDPipe({ version: 4 }))