NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ

投稿日: 2025年07月29日

Tips
要約
  • NestJSのアプリ構成を支える3つの主要なファイル(AppModule、AppController、AppService)の役割と流れを解説。
  • AppModuleは設定の中心、AppControllerはリクエストを受け取り処理を決定、AppServiceはビジネスロジックを実行。
  • ブラウザでGETリクエストを送ると'Hello World!'が表示され、NestJSの特徴としてデコレーター、モジュール化、依存性注入などが挙げられる。
音声で記事を再生

はじめに

現在、Nest.jsキャッチアップ中です!
今回はNestJSを学び始めた方に向けて、アプリの構成を支える3つの主要ファイル
AppModule / Controller / Service の役割と流れを見ていきましょう!!

関連記事もあるので、良かったらどうぞ!


AppModule(アプリ全体の設定ファイル)

ts

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

@Module({
  imports: [],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}


🧠 役割:

NestJSアプリの**設定の中心(エントリーポイント)**になるクラスです。

🔧 何をしてる?

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

🧩 使用しているNestJSの特徴機能

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

📌 NestJSでは、すべての部品は「モジュール」に登録しないと使えません
その登録作業をここでしています。

AppController(ルーティング処理)

ts

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()//デコレーション
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()//デコレーション
  getHello(): string {
    return this.appService.getHello();
  }
}

🧠 役割

リクエスト(例: GET /)を受け取り、どの処理を行うかを決めるクラス。

🔧 何をしてる?

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

🧩 使用しているNestJSの特徴機能

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

📌 つまり「URLにアクセスされたら、サービスの処理を呼び出して応答する」という、ルーティングの入口です。

AppService(処理ロジック)

ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}

🧠 役割:

実際の処理・ビジネスロジックを担当する部分です。
Controllerから呼び出されて、データ生成やDBアクセスなどを行う。
今回は "Hello World!" を返すだけのシンプルな処理です。

🔧 何をしてる?

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

🧩 使用しているNestJSの特徴機能

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

📌 つまり「外から使われる処理を書いておく場所」です。
ここにDB操作やAIの呼び出しなどを書くようになります。



DBやAI以外に、Serviceでよく書かれる処理の例

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

🧩全体的な流れ

css
コピーする編集する
[ブラウザがアクセス: GET / ]
        ↓
[AppController.getHello()]
        ↓
[this.appService.getHello()]
        ↓
["Hello World!" を返す]

✅ 全体の構成と役割まとめ

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

✅ 実際にアクセスするとどうなる?

ブラウザで http://localhost:3000/ にアクセスすると…

Hello World!

と表示されるのは、AppService.getHello() がそう返しているからです。

🌟 その他の NestJS 特徴

NestJS初心者向け:AppModule / Controller / Serviceの基本構成と動作の流れ|ShiftBブログ

まとめ

NestJSは、以下のような特徴で学びやすく、拡張しやすいサーバーアプリを作れるフレームワークです

  • デコレーターで構造が明確

  • モジュールベースで大規模開発にも対応

  • DI(依存性注入)でテストや再利用がしやすい

  • Expressベースで柔軟なカスタマイズが可能

シェア!

Threads
Loading...
記事一覧に戻る
Threads
0