【NestJS】Controllerのルーティング

【NestJS】Controllerのルーティング

はじめに

コジマです。

Nest.jsのControllerのルーティングは

http://IPアドレス:ポート/プレフィックス/コントローラ/HTTPメソッド

のような構造をしています。(もちろん設定でhttpsもできるよ)

Nest.jsでプロジェクトを作ったときに初めにできるapp.controller.tsを例に挙げます。

【Nest.js】プロジェクトを作成してみる
プロジェクトの作成の仕方はこちらから。

ローカルの開発環境ではデフォルトだと
http://localhost:3000
でHello Worldできます。

プレフィックスの設定

main.tsを修正し、setGlobalPrefixを変更します。
apiだとわかるように「api」としてみます。

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.setGlobalPrefix('api');
  await app.listen(3000);
}
bootstrap();

「http://localhost:3000/api」でアクセスできるようになりました。

コントローラの設定

app.controller.tsの@Controllerデコレータに「’hello’」と入れてみます。

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

@Controller('hello')
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}

「http://localhost:3000/api/hello」でアクセスできるようになりました。

<h2HTTPメソッドの設定

app.controller.tsの@Getデコレータに「’world’」と入れてみます。

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

@Controller('hello')
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get('world')
  getHello(): string {
    return this.appService.getHello();
  }
}

「http://localhost:3000/api/hello/world」でアクセスできるようになりました。

さいごに

繰り返しになりますが、Nest.jsのControllerのルーティングは

http://IPアドレス:ポート/プレフィックス/コントローラ/HTTPメソッド

の形になっています。

APIの設計書を基に実装するときなどで思い出してあげてください。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

システムエンジニアのつらい部分のあるあるなんかをエンタメにしたチャンネルを作りました。
チャンネルはこちら
つらい部分も楽しくなればと思っているのでよかったらチャンネル登録や高評価してくれたらうれしいです。

以上、コジマでした。


NestJSカテゴリの最新記事