RESTful API এর মাধ্যমে CRUD অপারেশন পরিচালনা

Routes এবং API তৈরি করা - মিনজেএস (MeanJS) - Web Development

291

MeanJS স্ট্যাকের সাহায্যে RESTful API তৈরি করা এবং CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করা একটি সাধারণ কিন্তু গুরুত্বপূর্ণ কাজ। এখানে আমরা দেখব কীভাবে Express.js ব্যবহার করে MongoDB ডেটাবেসের সাথে RESTful API তৈরি করা যায় এবং CRUD অপারেশন করা যায়।


RESTful API এবং CRUD অপারেশন সম্পর্কে পরিচিতি

RESTful API হলো একটি সিস্টেম বা সার্ভিস যা HTTP পদ্ধতিতে নির্দিষ্ট CRUD অপারেশন (Create, Read, Update, Delete) পরিচালনা করতে সাহায্য করে। এতে বিভিন্ন HTTP মেথড (যেমন GET, POST, PUT, DELETE) ব্যবহৃত হয় ডেটাবেসের রেকর্ড তৈরি, পড়া, আপডেট এবং মুছে ফেলার জন্য।


Express.js এবং MongoDB দিয়ে RESTful API তৈরি করা

এখন, আমরা একটি সিম্পল Express.js সার্ভার তৈরি করব, যা MongoDB ডেটাবেসের সাথে যুক্ত থাকবে এবং আমাদের CRUD অপারেশন পরিচালনা করবে।

প্রাথমিক সেটআপ

প্রথমে একটি নতুন ডিরেক্টরি তৈরি করুন এবং প্রজেক্ট ইনিশিয়ালাইজ করুন:

mkdir meanjs-crud-api
cd meanjs-crud-api
npm init -y

এরপর, প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন:

npm install express mongoose body-parser
  • express: ওয়েব সার্ভার তৈরি করতে ব্যবহৃত।
  • mongoose: MongoDB ডেটাবেসের সাথে সংযোগ এবং মডেল ব্যবহারের জন্য।
  • body-parser: HTTP রিকোয়েস্টের বডি পার্স করার জন্য।

MongoDB মডেল তৈরি করা

প্রথমে একটি User মডেল তৈরি করি, যা আমাদের ডেটাবেসে ব্যবহারকারীর তথ্য সংরক্ষণ করবে। models ফোল্ডারে user.model.js ফাইল তৈরি করুন:

// models/user.model.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// User schema তৈরি
const UserSchema = new Schema({
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: { type: Number, required: true }
});

// মডেল তৈরি করা
const User = mongoose.model('User', UserSchema);

module.exports = User;

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


Express.js সার্ভার সেটআপ

এখন, app.js ফাইল তৈরি করুন এবং নিচের কোডটি লিখুন:

// app.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const User = require('./models/user.model'); // User মডেলটি ইম্পোর্ট

const app = express();
const port = 3000;

// MongoDB এর সাথে সংযোগ
mongoose.connect('mongodb://localhost/meanjs-crud-api', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log('MongoDB Connected'))
  .catch(err => console.log(err));

// Middleware
app.use(bodyParser.json());

// POST: Create নতুন User
app.post('/api/users', async (req, res) => {
  const { name, email, age } = req.body;
  const newUser = new User({ name, email, age });

  try {
    const user = await newUser.save();
    res.status(201).json(user);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// GET: Read সমস্ত User
app.get('/api/users', async (req, res) => {
  try {
    const users = await User.find();
    res.status(200).json(users);
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});

// GET: Read নির্দিষ্ট User by ID
app.get('/api/users/:id', async (req, res) => {
  try {
    const user = await User.findById(req.params.id);
    if (!user) return res.status(404).json({ message: 'User not found' });
    res.status(200).json(user);
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});

// PUT: Update একটি User
app.put('/api/users/:id', async (req, res) => {
  try {
    const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true });
    if (!user) return res.status(404).json({ message: 'User not found' });
    res.status(200).json(user);
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});

// DELETE: Delete একটি User
app.delete('/api/users/:id', async (req, res) => {
  try {
    const user = await User.findByIdAndDelete(req.params.id);
    if (!user) return res.status(404).json({ message: 'User not found' });
    res.status(200).json({ message: 'User deleted' });
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});

// সার্ভার চালু করা
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

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

  • POST /api/users: নতুন User তৈরি করে ডেটাবেসে সংরক্ষণ করে।
  • GET /api/users: সমস্ত User ডেটা রিটার্ন করে।
  • GET /api/users/:id: নির্দিষ্ট User তথ্য আইডি অনুসারে রিটার্ন করে।
  • PUT /api/users/:id: একটি নির্দিষ্ট User আপডেট করে।
  • DELETE /api/users/:id: একটি নির্দিষ্ট User ডিলিট করে।

MongoDB এর সাথে সংযোগ এবং অ্যাপ্লিকেশন রান করা

MongoDB চালু না থাকলে, প্রথমে MongoDB সার্ভার চালু করতে হবে। আপনার সিস্টেমে MongoDB ইনস্টল করা না থাকলে, MongoDB এর অফিসিয়াল সাইট থেকে ডাউনলোড এবং ইনস্টল করুন।

একবার MongoDB চালু হলে, কমান্ড লাইন থেকে অ্যাপ্লিকেশন রান করতে হবে:

node app.js

এটি সার্ভার চালু করবে এবং আপনাকে http://localhost:3000 এ আপনার CRUD API রিকোয়েস্ট পাঠানোর সুযোগ দেবে।


Postman এর মাধ্যমে API টেস্ট করা

আপনি Postman ব্যবহার করে এই RESTful API এর সমস্ত CRUD অপারেশন টেস্ট করতে পারবেন।

  1. POST /api/users: নতুন ব্যবহারকারী তৈরি করুন।
  2. GET /api/users: সমস্ত ব্যবহারকারী দেখুন।
  3. GET /api/users/{id}: নির্দিষ্ট ব্যবহারকারী দেখুন।
  4. PUT /api/users/{id}: একটি ব্যবহারকারী আপডেট করুন।
  5. DELETE /api/users/{id}: একটি ব্যবহারকারী মুছুন।

সারাংশ

এখানে আমরা Express.js এবং MongoDB এর মাধ্যমে একটি সিম্পল RESTful API তৈরি করেছি, যা CRUD অপারেশন পরিচালনা করতে সক্ষম। এই API-টি আপনাকে Create, Read, Update, Delete অপারেশন পরিচালনা করার জন্য প্রয়োজনীয় সব ফিচার প্রদান করে এবং MeanJS স্ট্যাকের মাধ্যমে সম্পূর্ণ ওয়েব অ্যাপ্লিকেশন নির্মাণের জন্য একটি শক্তিশালী ভিত্তি তৈরি করে।

Content added By
Promotion

Are you sure to start over?

Loading...