チュートリアルリンク
- https://docs.nestjs.com/
- Introduction, Overviewをやる
構成
- module.ts
- controller, module, serviceを束ねる
nest g module [module name]
で雛形を作り、app.module.tsに登録してくれる
- controller.ts
- ルーティングなど
- 特定のパスとControllerが紐付けられる
- ルーティングなど
- controller.spec.ts
- Controllerテスト
- service.ts
- ビジネスロジックの定義
- Controllerから呼び出される
Controller
import { Controller, Get } from '@nestjs/common';
@Controller('cats')
export class CatsController {
@Get(':id')
@HttpCode(200) // 省略可能
@Header('Cache-Control', 'none') // 省略可能
find(@Param('id') id: number, @Query('query') query): string {
return 'Cat ' + id;
}
}
- @Controllerデコレータで囲う. 引数はパス
- 各パスは@Get/@Postなどのデコレータで囲う。引数はパス。
@Get('ab*cd')
findAll() {
return 'This route uses a wildcard';
}
- ちょっとした正規表現もサポートされている
Middleware
- https://docs.nestjs.com/middleware
- アクセス時に自動で前処理をしたいときに使える