Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • NestJS Documentation21টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • Controllers
  • Providers & DI
  • Pipes
  • Guards
  • Interceptors
  • Exception Handling
  • Middleware
  • Database
  • Authentication
  • Config & Env
  • File Upload
  • WebSockets
  • Microservices
  • Swagger
  • Testing
  • Best Practices
  • Project
  • Interview
  1. Docs
  2. NestJS
  3. NestJS Controllers
NestJSBeginner

NestJS Controllers

@Controller, HTTP methods, params, query, status codes — Request handling বাংলায়।

9টি অংশবাংলা ভাষায়

Controller হলো request গ্রহণ করে response ফেরত দেওয়ার জায়গা। এটি route ও HTTP method define করে।

Controller তৈরি

nest g controller users
src/users/users.controller.tstypescript
typescript
import {
  Controller,
  Get,
  Post,
  Put,
  Delete,
  Param,
  Query,
  Body,
} from "@nestjs/common";

@Controller("users") // prefix → /users
export class UsersController {
  @Get() // GET /users
  findAll(@Query("page") page: number) {
    return { data: [], page };
  }

  @Get(":id") // GET /users/:id
  findOne(@Param("id") id: string) {
    return { id };
  }

  @Post() // POST /users
  create(@Body() body: any) {
    return { ...body, id: Date.now() };
  }

  @Put(":id") // PUT /users/:id
  update(@Param("id") id: string, @Body() body: any) {
    return { id, ...body };
  }

  @Delete(":id") // DELETE /users/:id
  remove(@Param("id") id: string) {
    return { message: "deleted", id };
  }
}

Route Params ও Query

// URL: /users/5/posts?limit=10&sort=asc
@Get(":id/posts")
getUserPosts(
  @Param("id") userId: string,
  @Query("limit") limit = "10",
  @Query("sort") sort = "asc",
) {
  return { userId, limit, sort };
}

Status Codes

import { HttpCode, HttpStatus } from "@nestjs/common";

@Post()
@HttpCode(HttpStatus.CREATED) // 201
create(@Body() data: any) {
  return data;
}

// অথবা @Res() দিয়ে manual
@Get(":id")
custom(@Res() res: ExpressResponse) {
  res.status(404).json({ error: "Not found" });
}
@Res() এড়িয়ে চলুন

@Res() ব্যবহার করলে NestJS-এর interceptor/pipe flow-এ বাধা পড়তে পারে। সাধারণত return value দিয়েই কাজ করা best practice।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNestJS ModulesপরেরProviders এবং Dependency Injection
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com