NestJS入門
チュートリアルリンク
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
code:controller.ts
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などのデコレータで囲う。引数はパス。
code:wildcard
@Get('ab*cd')
findAll() {
return 'This route uses a wildcard';
}
ちょっとした正規表現もサポートされている
Middleware
アクセス時に自動で前処理をしたいときに使える