Pipes
Il n'y a pas de différence fondamentale entre les pipes ordinaires et les pipes microservices. La seule différence est qu'au lieu de lancer HttpException, vous devriez utiliser RpcException.
Astuce La classeRpcExceptionest exposée dans le package@nestjs/microservices.
Lier les pipes#
L'exemple suivant utilise un pipe à portée de méthode instancié manuellement. Tout comme pour les applications basées sur HTTP, vous pouvez également utiliser des pipes à l'échelle du contrôleur (c'est-à-dire préfixer la classe du contrôleur avec un décorateur @UsePipes()).
JS TS
@UsePipes(new ValidationPipe({ exceptionFactory: (errors) => new RpcException(errors) }))
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
return (data || []).reduce((a, b) => a + b);
}
@UsePipes(new ValidationPipe({ exceptionFactory: (errors) => new RpcException(errors) }))
@MessagePattern({ cmd: 'sum' })
accumulate(data) {
return (data || []).reduce((a, b) => a + b);
}

