如何在 graphql 中为 args 参数添加装饰器
How to add decorator to args param in graphql
无法将装饰器 @IsUUID()
从 class-validator
添加到我的参数 productI
,我不想使用额外的 dto。如何解决?
@UseGuards(new AuthGuard(['user', 'admin']))
@Mutation(() => 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,
): Promise<ProductEntity> {
return this.productService.updateProduct(user.id, productId, inputs);
}
没有办法解决。如果您想使用 @IsUUID()
和 ValidationPipe
,您 必须 使用 class DTO。如果您只是想验证 UUID
,则可以使用 ParseUUIDPipe
。 @Args('productId', {}, new ParseUUIDPipe({ version: 4 }))
无法将装饰器 @IsUUID()
从 class-validator
添加到我的参数 productI
,我不想使用额外的 dto。如何解决?
@UseGuards(new AuthGuard(['user', 'admin']))
@Mutation(() => 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,
): Promise<ProductEntity> {
return this.productService.updateProduct(user.id, productId, inputs);
}
没有办法解决。如果您想使用 @IsUUID()
和 ValidationPipe
,您 必须 使用 class DTO。如果您只是想验证 UUID
,则可以使用 ParseUUIDPipe
。 @Args('productId', {}, new ParseUUIDPipe({ version: 4 }))