NestJSでのデコレーションの使用方法


以下に、NestJSでデコレーションを使用する方法のいくつかの例を示します。

  1. ルートデコレーション: NestJSでは、ルートデコレーションを使用して、クラスをルートモジュールとしてマークします。これは、アプリケーションのエントリーポイントとなるクラスです。以下は、ルートデコレーションの例です。
import { Module } from '@nestjs/common';
@Module({})
export class AppModule {}
  1. コントローラーデコレーション: コントローラーは、HTTPリクエストを処理するためのクラスです。コントローラーデコレーションを使用して、クラスをコントローラーとしてマークします。以下は、コントローラーデコレーションの例です。
import { Controller, Get } from '@nestjs/common';
@Controller('users')
export class UsersController {
  @Get()
  getUsers() {
    // ユーザーの取得ロジック
  }
}
  1. ミドルウェアデコレーション: ミドルウェアは、リクエストとレスポンスの間で処理を追加するために使用されます。ミドルウェアデコレーションを使用すると、ミドルウェアを作成し、適用することができます。以下は、ミドルウェアデコレーションの例です。
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
@Injectable()
export class LoggerMiddleware implements NestMiddleware {
  use(req: Request, res: Response, next: NextFunction) {
    console.log('Request...');
    next();
  }
}

これらは、NestJSでデコレーションを使用する一部の例です。デコレーションは、NestJSの機能を拡張し、アプリケーションの機能を柔軟にカスタマイズするための強力なツールです。