Aller au contenu principal

WebSockets (Gateway)

Les contrôleurs HTTP, c'est bien pour servir des pages ou des API classiques. Mais quand tu veux faire un Chat, un jeu multijoueur ou des notifications en direct, tu as besoin de WebSockets.

Dans my-fastify-decorators, une Gateway est l'équivalent d'un Contrôleur, mais pour le monde des sockets.

Créer une Gateway (@WebSocketGateway)

C'est une classe décorée avec @WebSocketGateway(). Elle agit comme un point d'entrée pour un "Namespace" Socket.io.

import { WebSocketGateway } from 'my-fastify-decorators';

// Écoute sur le namespace par défaut '/'
@WebSocketGateway()
export class AppGateway {}

// OU

// Écoute uniquement sur '/chat'
@WebSocketGateway('/chat')
export class ChatGateway {}
Injection de Dépendances

La magie opère ici aussi ! Tu as besoin de sauvegarder les messages en BDD ? Injecte simplement ton MessageService dans le constructeur de ta Gateway.