const router = require('express').Router();
router.post('/', controller.postMethod);
router.get('/', controller.getMethod);
router.patch('/', controller.updateMethod);
router.delete('/', controller.deleteMethod);
사실 express의 장점은 간편하고 빠르게 서버 애플리케이션을 확장할 수 있다는 것이다. → 구조적이지 않게 한다는 단점이 생김
그래서 결국 차세대 프레임워크에게 자리를 물려줄 것으로 보임
Express에서는 죄다 middleware라고 부른다
Request부터 Response를 돌려주기까지의 라이프 사이클에 관여하는게 미들웨어지만, 모든 것을 미들웨어라고 부르는 건 너무 모호해보인다
Nest.js에서의 라이프 사이클은 이러하다
// Example
@UsePipes(GeneralValidationPipe) // 1
@Controller('cats')
export class CatsController {
constructor(private catsService: CatsService) {}
@UsePipes(RouteSpecificPipe) // 3
@Patch(':id')
updateCat(
@Body() body: UpdateCatDTO, // 2
@Param() params: UpdateCatParams, // 2
@Query() query: UpdateCatQuery, // 2
) {
return this.catsService.updateCat(body, params, query);
}
}