Passer au contenu

Gardiens

Il n’y a pas de différence fondamentale entre les gardiens de microservices et les gardiens d’applications HTTP classiques. La seule différence est qu’au lieu de lancer une HttpException, vous devez utiliser une RpcException.

Gardiens de liaison

L’exemple suivant utilise un gardien étendu par méthode. Tout comme avec les applications basées sur HTTP, vous pouvez également utiliser des gardiens étendus par contrôleur (c’est-à-dire, préfixer la classe du contrôleur avec un décorateur @UseGuards()).

Exemple de Gardien
@UseGuards(AuthGuard)
@MessagePattern({ cmd: 'sum' })
accumulate(data: number[]): number {
return (data || []).reduce((a, b) => a + b);
}
Exemple de Gardien sans Type
@UseGuards(AuthGuard)
@MessagePattern({ cmd: 'sum' })
accumulate(data) {
return (data || []).reduce((a, b) => a + b);
}