Express Router এর মাধ্যমে ডেটা সংরক্ষণ

URL Parameters এবং Query Strings - এক্সপ্রেসজেএস (ExpressJS) - Web Development

214

ExpressJS-এ Router হল একটি বিশেষ উপাদান যা বিভিন্ন রাউট এবং রাউট হ্যান্ডলার গ্রুপ করার জন্য ব্যবহৃত হয়। এটি ডেটা সংরক্ষণ (বা তৈরি, আপডেট, পড়া) এর জন্য ব্যবহার করা যেতে পারে, বিশেষ করে যখন আপনি ডেটাবেসের সাথে কাজ করছেন। Express Router এর মাধ্যমে ডেটা সংরক্ষণ করার জন্য, সাধারণত HTTP POST, PUT, এবং DELETE রিকোয়েস্টগুলো ব্যবহার করা হয়।

এই গাইডে, Express Router ব্যবহার করে ডেটা সংরক্ষণের একটি সাধারণ উদাহরণ দেখানো হবে।


১. Express Router কি?

Express Router হল Express অ্যাপ্লিকেশনে ব্যবহৃত একটি মডুলার উপাদান, যা রাউটের কাজগুলি আলাদা ফাইলে গ্রুপ করতে সাহায্য করে। এর মাধ্যমে অ্যাপ্লিকেশনকে মডুলার এবং স্কেলেবল করা সহজ হয়।

এটি ডেটাবেস অপারেশন বা অন্যান্য লজিক সম্পাদন করতে পারে, যেমন:

  • ডেটা তৈরি করা (POST)
  • ডেটা পড়া (GET)
  • ডেটা আপডেট করা (PUT)
  • ডেটা মুছে ফেলা (DELETE)

২. Express Router এর মাধ্যমে ডেটা সংরক্ষণ

এখানে একটি উদাহরণ দিয়ে বোঝানো হবে কিভাবে Express Router ব্যবহার করে একটি সিম্পল API তৈরি করা যায় যা ডেটা সংরক্ষণ, আপডেট, এবং মুছে ফেলার কাজ করবে।

ধরা যাক, আমাদের একটি সিম্পল "User" অবজেক্ট তৈরি করতে হবে।


৩. প্রকল্পের জন্য ডিরেক্টরি ও ফাইল স্ট্রাকচার

my-express-app/
│
├── node_modules/           # ইনস্টল হওয়া প্যাকেজ
├── routes/                 # রাউট ফোল্ডার
│   └── userRouter.js       # ইউজার রাউট ফাইল
├── app.js                  # মূল অ্যাপ্লিকেশন ফাইল
├── package.json            # প্যাকেজ কনফিগারেশন
└── package-lock.json       # নির্দিষ্ট সংস্করণে প্যাকেজের ডিপেনডেন্সি

৪. app.js ফাইল তৈরি করা

এটি মূল অ্যাপ্লিকেশন ফাইল যেখানে আমরা Express এবং Router কনফিগার করব।

const express = require('express');
const app = express();
const bodyParser = require('body-parser');

// রাউট ব্যবহার করার জন্য
const userRouter = require('./routes/userRouter');

// JSON প্যারসিং Middleware
app.use(bodyParser.json());

// রাউট ব্যবহার
app.use('/api/users', userRouter);

// সার্ভার চালু করা
app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});
  • body-parser.json(): এটি রিকোয়েস্ট বডি থেকে JSON ডেটা পার্স করতে ব্যবহৃত হয়।

৫. routes/userRouter.js ফাইল তৈরি করা

এখানে, আমরা User সম্পর্কিত রাউটগুলি তৈরি করব, যেমন ডেটা তৈরি, পড়া, আপডেট করা, এবং মুছে ফেলা।

const express = require('express');
const router = express.Router();

// সিম্পল ডেটা (প্রকৃত ডেটাবেসের পরিবর্তে এটি মেমোরিতে সংরক্ষণ)
let users = [
  { id: 1, name: 'John Doe', email: 'john@example.com' },
  { id: 2, name: 'Jane Smith', email: 'jane@example.com' }
];

// ১. GET রাউট: সমস্ত ইউজার পড়া
router.get('/', (req, res) => {
  res.json(users);
});

// ২. POST রাউট: নতুন ইউজার তৈরি
router.post('/', (req, res) => {
  const { name, email } = req.body;

  // নতুন ইউজার তৈরি করা
  const newUser = {
    id: users.length + 1,
    name,
    email
  };

  users.push(newUser);
  res.status(201).json(newUser); // 201: Created
});

// ৩. PUT রাউট: ইউজার আপডেট
router.put('/:id', (req, res) => {
  const { id } = req.params;
  const { name, email } = req.body;

  let user = users.find(user => user.id === parseInt(id));
  
  if (!user) {
    return res.status(404).json({ message: 'User not found' });
  }

  // ইউজার আপডেট করা
  user.name = name;
  user.email = email;

  res.json(user);
});

// ৪. DELETE রাউট: ইউজার মুছে ফেলা
router.delete('/:id', (req, res) => {
  const { id } = req.params;
  let userIndex = users.findIndex(user => user.id === parseInt(id));

  if (userIndex === -1) {
    return res.status(404).json({ message: 'User not found' });
  }

  // ইউজার মুছে ফেলা
  users.splice(userIndex, 1);
  res.status(204).send(); // 204: No Content
});

module.exports = router;

কোড ব্যাখ্যা:

  • GET '/': সমস্ত ইউজারের তথ্য পাঠাবে।
  • POST '/': নতুন ইউজার তৈরি করবে এবং সেটি মেমোরিতে সংরক্ষণ করবে।
  • PUT '/:id': নির্দিষ্ট ইউজারের তথ্য আপডেট করবে।
  • DELETE '/:id': নির্দিষ্ট ইউজার মুছে ফেলবে।

৬. Express Router দিয়ে ডেটা সংরক্ষণ এবং পরীক্ষা করা

এখন, আপনার অ্যাপ চালু করতে node app.js কমান্ডটি ব্যবহার করুন।

এবার আপনি Postman বা ব্রাউজারের মাধ্যমে API রিকোয়েস্ট পাঠাতে পারেন:

  1. GET রিকোয়েস্ট - সমস্ত ইউজার দেখার জন্য:

    GET http://localhost:3000/api/users
    
  2. POST রিকোয়েস্ট - নতুন ইউজার তৈরি করার জন্য:

    POST http://localhost:3000/api/users
    Body: { "name": "Alice", "email": "alice@example.com" }
    
  3. PUT রিকোয়েস্ট - ইউজারের তথ্য আপডেট করার জন্য:

    PUT http://localhost:3000/api/users/1
    Body: { "name": "John Updated", "email": "john.updated@example.com" }
    
  4. DELETE রিকোয়েস্ট - ইউজার মুছে ফেলার জন্য:

    DELETE http://localhost:3000/api/users/2
    

সারাংশ

ExpressJS-এ Router ব্যবহার করে ডেটা সংরক্ষণ করার প্রক্রিয়া অত্যন্ত সহজ এবং শক্তিশালী। আপনি Router ব্যবহার করে বিভিন্ন HTTP মেথড (GET, POST, PUT, DELETE) এর মাধ্যমে ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলতে পারেন। এটি আপনার অ্যাপ্লিকেশনকে মডুলার এবং সুসংগঠিত করতে সাহায্য করে, যেখানে প্রতিটি রাউট আলাদা ফাইলে থাকে এবং সহজেই রিকোয়েস্ট-রেসপন্স হ্যান্ডলিং করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...