NestJsでコントローラーを作成し、様々なHTTPメソッドを処理する方法
NestJSでのコントローラーの作成とHTTPメソッドの処理について学びましょう。
概要
NestJSのコントローラーは、クライアントからのHTTPリクエストを受け取り、適切なレスポンスを返す役割を果たします。この記事では、NestJSでコントローラーを作成し、GET、POST、PUT、DELETEなどのHTTPメソッドを処理する方法を詳しく解説します。
nest.js v10.1.7
nodejs v19.7.0
また、今回作成するコードは全て、GitHubに掲載しています。
NestJSのCLIを使ったコントローラーの作成
NestJSでは、CLIを使って簡単にコントローラーを作成することができます。以下のCLIコマンドを実行して、usersコントローラーを作成しましょう。
nest g co users
このコマンドを実行すると、usersコントローラーに必要なファイルが自動的に作成されます。
src/
└── users/
├── users.controller.spec.ts
└── users.controller.ts
次に、NestJSアプリケーションのメインモジュールであるapp.module.tsに、作成したコントローラーを追加されたことを確認してください。
/src/app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersController } from './users/users.controller';
@Module({
imports: [],
controllers: [AppController, UsersController],
providers: [AppService],
})
export class AppModule {}
これで、usersのルーティングコントローラーが作成されました。
NestJSコントローラーの編集とHTTPメソッドの処理
次に、作成したusersコントローラーを編集して、GET、POST、PUT、DELETEのHTTPメソッドを処理するように設定します。
/src/users/users.controller.ts
import { Controller, Get, Post, Put, Delete } from '@nestjs/common';
@Controller('users')
export class UsersController {
@Get()
getUsers(): string {
return 'This is the response from the GET method';
}
@Post()
createUser(): string {
return 'This is the response from the POST method';
}
@Put()
updateUser(): string {
return 'This is the response from the PUT method';
}
@Delete()
deleteUser(): string {
return 'This is the response from the DELETE method';
}
}
テスト
アプリケーションが起動したら、http://localhost:3000/usersにアクセスすると、GETメソッドのレスポンスが返ってきます。
curl -X GET http://localhost:3000/users
curl -X POST http://localhost:3000/users
curl -X PUT http://localhost:3000/users
curl -X DELETE http://localhost:3000/users
同様に、POST、PUT、DELETEメソッドに対するレスポンスも確認できます。
まとめ
この記事では、NestJSでコントローラーを作成し、GET、POST、PUT、DELETEなどのHTTPメソッドを処理する方法を学びました。これらの知識を活用して、NestJSを使ったアプリケーションの開発を進めていきましょう。