2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
✈️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.
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.
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.
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';
Étape 2 : Injecter via le constructeur (private newsService : NewsService) {}
@Controller('news')
export class NewsController {
constructor(private newsService: NewsService) {}
.....
}
É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);
}
}
É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 {}
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.