Partage de technologie

Une introduction aux fournisseurs [NestJs] dans un seul article

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Série d'apprentissage Nest

✈️Démarrez avec [NestJS] dans un seul article
✈️Introduction aux contrôleurs [NestJs] dans un seul article

🚩 前言

Dans le monde de NestJS, comprendre les « fournisseurs » est la clé pour créer des services backend robustes et maintenables. NestJS, en tant que framework moderne pour Node.js, adopte certains concepts fondamentaux d'Angular, tels que l'injection de dépendances (DI), et les applique au développement côté serveur. Cet article approfondira le mécanisme des fournisseurs dans NestJS, analysera son fonctionnement et comment les utiliser pour optimiser votre application.

🚩什么是 Providers

Dans NestJS, un fournisseur est tout objet pouvant être géré et injecté par le conteneur DI. Il peut s'agir d'une classe, d'une valeur, d'une fonction d'usine ou d'une interface abstraite. Le rôle principal des Providers est de fournir des services, des valeurs ou des usines, qui peuvent être partagés et réutilisés par d'autres modules ou composants.

J'ai découvert le contrôleur Nest dans l'article précédent. Cet article introduit un autre point de connaissance important : les fournisseurs peuvent être compris comme la partie du contrôleur qui fournit des services, et peuvent également être appelés services.

🚩如何创建一个 service

Actualités du service Nest G

Il s'agit d'un service simple qui a actuellement deux fonctions : l'une consiste à renvoyer une liste de toutes les actualités et l'autre à créer une donnée.
Insérer la description de l'image ici
Insérer la description de l'image ici

🚩service如何为controller提供服务

injection de dépendance

La première étape : introduire le service correspondant et le type d'interface correspondant dans le contrôleur

news.controller.ts

import { NewsService } from './news.service';
import { News } from './interfaces/news.interface';
  • 1
  • 2

Étape 2 : Injecter via le constructeur (private newsService : NewsService) {}

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
	.....
}
  • 1
  • 2
  • 3
  • 4
  • 5

Étape 3 : Utilisez-le dans le décorateur de requête correspondant

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
 	@Get('/page')
	async getNewsPageList(@Query() query: string): Promise<News[]> {
        console.log(query);
        return this.newsService.getNewsPageList();
    }

   @Post('/create')
   async  createNews(@Body() createNewsDto: CreateNewsDto) {
        console.log(createNewsDto,'添加参数');
        return this.newsService.createNews(createNewsDto);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Étape 4 : Inscrivez-vous dans app.module

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { NewsController } from './news/news.controller';
import { NewsService } from './news/news.service';

@Module({
  imports: [],
  controllers: [AppController, NewsController],
  providers: [AppService,NewsService],
})
export class AppModule {}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

Conclusion

La maîtrise des fournisseurs dans NestJS signifie que vous pouvez mieux créer des services backend modulaires et évolutifs. En utilisant correctement les fournisseurs, vous pouvez facilement gérer les dépendances et améliorer la lisibilité et la maintenabilité du code. Que vous construisiez une architecture de microservices complexe ou un simple service API, le mécanisme DI de NestJS sera un outil indispensable pour vous.