私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
✈️1 つの記事で [NestJS] を始めましょう
✈️[NestJs] コントローラーを 1 つの記事で紹介
NestJS の世界では、「プロバイダー」を理解することが、堅牢で保守可能なバックエンド サービスを構築するための鍵となります。 NestJS は、Node.js の最新のフレームワークとして、Dependency Injection (DI) などの Angular のいくつかのコア概念を採用し、サーバーサイド開発に適用します。この記事では、NestJS のプロバイダー メカニズムを詳しく掘り下げ、その仕組みを分析し、アプリケーションを最適化するためにプロバイダーを使用する方法を説明します。
NestJS では、プロバイダーは DI コンテナーによって管理および挿入できる任意のオブジェクトです。クラス、値、ファクトリ関数、または抽象インターフェイスを指定できます。 プロバイダーの主な役割は、他のモジュールやコンポーネントによって共有および再利用できるサービス、値、またはファクトリーを提供することです。
前回の記事で Nest のコントローラーについて学びました。この記事では、もう 1 つの重要な知識ポイントを紹介します。プロバイダーは、サービスを提供するコントローラーの一部として理解でき、サービスと呼ぶこともできます。
ネストGサービスニュース
これは現在 2 つの機能を備えた単純なサービスです。1 つはすべてのニュースのリストを返すこと、もう 1 つはデータを作成することです。
依存性注入
最初のステップ: 対応するサービスと対応するインターフェイス タイプをコントローラーに導入します。
ニュース.コントローラ.ts
import { NewsService } from './news.service';
import { News } from './interfaces/news.interface';
ステップ 2: コンストラクターを介して挿入する(private newsService: NewsService) {}
@Controller('news')
export class NewsController {
constructor(private newsService: NewsService) {}
.....
}
ステップ 3: 対応するリクエスト デコレータで使用する
@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);
}
}
ステップ 4: 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 {}
NestJS でプロバイダーをマスターすると、モジュール式でスケーラブルなバックエンド サービスをより適切に構築できるようになります。プロバイダーを適切に使用すると、依存関係を簡単に管理し、コードの可読性と保守性を向上させることができます。複雑なマイクロサービス アーキテクチャを構築する場合でも、単純な API サービスを構築する場合でも、NestJS の DI メカニズムは不可欠なツールになります。