Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Node.js Documentation20টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • NPM
  • File System
  • Events
  • Streams
  • HTTP
  • Async Programming
  • Environment
  • Debugging
  • Express.js
  • API Development
  • Authentication
  • Database
  • Production
  • Advanced Node.js
  • Best Practices
  • Projects
  • Interview
  1. Docs
  2. Node.js
  3. REST API Development
Node.jsIntermediate

REST API Development

REST API design, CRUD operations, status codes, validation — Node.js/Express-এ API তৈরির বাংলা গাইড।

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

API (Application Programming Interface) হলো client ও server-এর মধ্যে কথা বলার মাধ্যম। REST API হলো সবচেয়ে জনপ্রিয় API architecture।

REST API Design

MethodEndpointকাজ
GET/api/usersসব user আনা
GET/api/users/:idনির্দিষ্ট user আনা
POST/api/usersনতুন user তৈরি
PUT/api/users/:iduser update
DELETE/api/users/:iduser মুছে ফেলা

Full CRUD API

routes/users.jsjavascript
javascript
const express = require("express");
const router = express.Router();

let users = [
  { id: 1, name: "রহিম", email: "rahim@example.com" },
  { id: 2, name: "করিম", email: "karim@example.com" },
];

// GET /api/users
router.get("/", (req, res) => {
  res.json(users);
});

// GET /api/users/:id
router.get("/:id", (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  if (!user) return res.status(404).json({ error: "User পাওয়া যায়নি" });
  res.json(user);
});

// POST /api/users
router.post("/", (req, res) => {
  const { name, email } = req.body;
  if (!name || !email) {
    return res.status(400).json({ error: "Name ও email দরকার" });
  }
  const newUser = { id: Date.now(), name, email };
  users.push(newUser);
  res.status(201).json(newUser);
});

// PUT /api/users/:id
router.put("/:id", (req, res) => {
  const user = users.find(u => u.id === parseInt(req.params.id));
  if (!user) return res.status(404).json({ error: "User পাওয়া যায়নি" });
  Object.assign(user, req.body);
  res.json(user);
});

// DELETE /api/users/:id
router.delete("/:id", (req, res) => {
  users = users.filter(u => u.id !== parseInt(req.params.id));
  res.json({ message: "User মুছে ফেলা হয়েছে" });
});

module.exports = router;

HTTP Status Codes

Codeঅর্থ
200OK — সফল
201Created — নতুন resource তৈরি হয়েছে
204No Content — সফল কিন্তু response body নেই
400Bad Request — client ভুল
401Unauthorized — authentication লাগবে
403Forbidden — permission নেই
404Not Found — resource নেই
500Internal Server Error — server সমস্যা

Request Validation

// simple validation middleware
const validateUser = (req, res, next) => {
  const { name, email } = req.body;
  if (!name || name.length < 2) {
    return res.status(400).json({
      error: "Name কমপক্ষে 2 characters হতে হবে"
    });
  }
  if (!email || !email.includes("@")) {
    return res.status(400).json({
      error: "Valid email দিন"
    });
  }
  next();
};

router.post("/", validateUser, (req, res) => {
  // validated data
  const user = { id: Date.now(), ...req.body };
  users.push(user);
  res.status(201).json(user);
});
Production Libraries

বড় project-এ validation-এর জন্য Zod বা Joi library ব্যবহার করুন। এগুলো automatic type coercion ও detailed error message দেয়।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরExpress.js — Node.js FrameworkপরেরAuthentication — JWT ও Session
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com