Controller chịu trách nhiệm nhận HTTP requests và trả về responses. Controller map routes đến handler methods thông qua decorators.
@Controller('users') đặt base route /users. Các HTTP method decorators: @Get(), @Post(), @Patch(), @Put(), @Delete(). Có thể thêm path vào decorator như @Get(':id') để tạo route động.
Parameter decorators để extract data từ request: @Param('id') lấy route param, @Query() lấy query string, @Body() lấy request body, @Headers() lấy headers, @Req() / @Res() để access raw request/response (dùng @Res() sẽ mất một số tính năng NestJS như interceptors).
A Controller is responsible for receiving HTTP requests and returning responses. Controllers map routes to handler methods via decorators.
@Controller('users') sets the base route /users. HTTP method decorators: @Get(), @Post(), @Patch(), @Put(), @Delete(). You can add a path like @Get(':id') for dynamic routes.
Parameter decorators to extract data from requests: @Param('id') gets route param, @Query() gets query string, @Body() gets request body, @Headers() gets headers, @Req() / @Res() accesses raw request/response (using @Res() bypasses some NestJS features like interceptors).