पाठ 4 / 33

Controllers और Routing

Decorated methods से HTTP requests को संभालें।

एक basic controller

@Controller एक क्लास को controller के रूप में चिह्नित करता है; @Get(), @Post(), आदि handler methods को decorate करते हैं।

import { Controller, Get, Post, Body } from '@nestjs/common';
import { UsersService } from './users.service';

@Controller('users')
export class UsersController {
  constructor(private usersService: UsersService) {}

  @Get()
  findAll() {
    return this.usersService.findAll();
  }

  @Post()
  create(@Body() createUserDto: CreateUserDto) {
    return this.usersService.create(createUserDto);
  }
}

Route params और query

URL segments के लिए @Param() उपयोग करें, query strings के लिए @Query()।

@Get(':id')
findOne(@Param('id') id: string) {
  return this.usersService.findOne(id);
}

@Get()
findAll(@Query('limit') limit: number = 10) {
  return this.usersService.findAll(limit);
}

HTTP verb decorators

@Get, @Post, @Put, @Delete, @Patch HTTP methods से map होते हैं; path argument controller के base path के relative होता है।