Technologieaustausch

Eine Einführung in [NestJs]-Anbieter in einem Artikel

2024-07-12

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

Nest-Lernreihe

✈️Erste Schritte mit [NestJS] in einem Artikel
✈️Einführung in [NestJs] Controller in einem Artikel

🚩 前言

In der Welt von NestJS ist das Verständnis von „Anbietern“ der Schlüssel zum Aufbau robuster und wartbarer Backend-Dienste. NestJS übernimmt als modernes Framework für Node.js einige Kernkonzepte von Angular, wie etwa Dependency Injection (DI), und wendet sie auf die serverseitige Entwicklung an. Dieser Artikel befasst sich mit dem Provider-Mechanismus in NestJS, analysiert seine Funktionsweise und wie Sie ihn zur Optimierung Ihrer Anwendung verwenden können.

🚩什么是 Providers

In NestJS ist ein Provider jedes Objekt, das vom DI-Container verwaltet und eingefügt werden kann. Es kann eine Klasse, ein Wert, eine Factory-Funktion oder eine abstrakte Schnittstelle sein. Die Hauptaufgabe von Anbietern besteht darin, Dienste, Werte oder Fabriken bereitzustellen, die von anderen Modulen oder Komponenten gemeinsam genutzt und wiederverwendet werden können.

Ich habe im vorherigen Artikel etwas über den Controller von Nest erfahren. Dieser Artikel stellt einen weiteren wichtigen Wissenspunkt vor: Anbieter können als der Teil des Controllers verstanden werden, der Dienste bereitstellt, und können auch als Dienste bezeichnet werden.

🚩如何创建一个 service

Nest G Service-Neuigkeiten

Dies ist ein einfacher Dienst, der derzeit zwei Funktionen hat: Die eine besteht darin, eine Liste aller Nachrichten zurückzugeben, die andere darin, ein Datenelement zu erstellen
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

🚩service如何为controller提供服务

Abhängigkeitsspritze

Der erste Schritt: Einführung des entsprechenden Dienstes und des entsprechenden Schnittstellentyps im Controller

news.controller.ts

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

Schritt 2: Injizieren über den Konstruktor (private newsService: NewsService) {}

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

Schritt 3: Verwenden Sie es im entsprechenden Anforderungsdekorator

@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

Schritt 4: Registrieren Sie sich in 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

Abschluss

Wenn Sie Anbieter in NestJS beherrschen, können Sie modulare und skalierbare Backend-Dienste besser aufbauen. Durch die ordnungsgemäße Verwendung von Anbietern können Sie Abhängigkeiten einfach verwalten und die Lesbarkeit und Wartbarkeit des Codes verbessern. Unabhängig davon, ob Sie eine komplexe Microservice-Architektur oder einen einfachen API-Dienst erstellen, ist der DI-Mechanismus von NestJS ein unverzichtbares Werkzeug für Sie.