Prompt Detail:
Dans NestJS, le meilleur moyen d'utiliser une fonction pour différentes classes serait de créer une classe de service réutilisable et de l'injecter dans les classes qui en ont besoin.
Voici les étapes à suivre pour y parvenir :
- Créez une classe de service avec la (les) fonction(s) requise(s) et décorez-la avec le décorateur
@Injectable()
. Par exemple :
typescriptimport { Injectable } from '@nestjs/common';
@Injectable()
export class MonService {
maFonction(): string {
return 'Bonjour tout le monde!';
}
}
- Dans la (les) classe(s) qui ont besoin de la (les) fonction(s), injectez le service en utilisant le décorateur
@Inject()
et spécifiez la classe de service comme paramètre. Par exemple :
typescriptimport { Controller, Get, Inject } from '@nestjs/common';
import { MonService } from './mon.service';
@Controller()
export class MonController {
constructor(@Inject(MonService) private readonly monService: MonService) {}
@Get()
monEndpoint(): string {
return this.monService.maFonction();
}
}
- Assurez-vous d'importer la classe de service et de l'ajouter au tableau des fournisseurs dans le module où le contrôleur est déclaré. Par exemple :
typescriptimport { Module } from '@nestjs/common';
import { MonController } from './mon.controller';
import { MonService } from './mon.service';
@Module({
controllers: [MonController],
providers: [MonService],
})
export class MonModule {}
En suivant ces étapes, vous pouvez créer un service réutilisable qui peut être injecté dans plusieurs classes de votre application NestJS.
Add a comment