Express.js এর মাধ্যমে API রেসপন্স হ্যান্ডল করা

ফ্রন্টএন্ড এবং ব্যাকএন্ড এর মধ্যে যোগাযোগ - মিনজেএস (MeanJS) - Web Development

254

Express.js এর মাধ্যমে API রেসপন্স হ্যান্ডল করা একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা MeanJS স্ট্যাক ব্যবহার করে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়। Express.js সহজ এবং কার্যকরভাবে HTTP রিকোয়েস্টের রেসপন্স হ্যান্ডল করতে সহায়ক, এবং এটি সাধারণত JSON ফর্ম্যাটে ডেটা রিটার্ন করে।

এখানে Express.js ব্যবহার করে API রেসপন্স হ্যান্ডল করার প্রক্রিয়া বিস্তারিতভাবে ব্যাখ্যা করা হলো।


১. Express.js সেটআপ করা

প্রথমে, Express.js অ্যাপ্লিকেশন সেটআপ করতে হবে। নিচের ধাপগুলো অনুসরণ করুন:

প্রজেক্ট তৈরি করা

mkdir meanjs-api
cd meanjs-api
npm init -y
npm install express body-parser mongoose

এটি একটি নতুন Node.js প্রজেক্ট তৈরি করবে এবং Express.js, body-parser এবং Mongoose (MongoDB এর জন্য) ইনস্টল করবে।

Express.js অ্যাপ্লিকেশন তৈরি করা

এখন, app.js ফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:

'use strict';

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');

var app = express();

// Body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

// MongoDB কানেকশন
mongoose.connect('mongodb://localhost:27017/meanjs', { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => {
        console.log('MongoDB connected');
    })
    .catch(err => {
        console.log('MongoDB connection error:', err);
    });

// Port সেট করা
var port = 3000;
app.listen(port, () => {
    console.log('Server running on port ' + port);
});

এখানে আমরা Express.js অ্যাপ্লিকেশন তৈরি করেছি, body-parser মডিউল ব্যবহার করে JSON ডেটা রিকোয়েস্ট বডি থেকে নিয়ে আছি এবং MongoDB কানেক্ট করেছি।


২. API রাউট তৈরি করা

এখন, API রাউট তৈরি করবো এবং Express.js এর মাধ্যমে HTTP রিকোয়েস্টের রেসপন্স হ্যান্ডল করবো।

API রাউট কনফিগারেশন

ধরা যাক, আমরা একটি User মডেল তৈরি করতে চাই এবং এর মাধ্যমে ইউজারের তথ্য GET ও POST করতে চাই। প্রথমে, User মডেল তৈরি করা যাক।

user.model.js

'use strict';

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

// User Schema তৈরি করা
var UserSchema = new Schema({
    name: {
        type: String,
        required: true
    },
    email: {
        type: String,
        unique: true,
        required: true
    },
    password: {
        type: String,
        required: true
    }
});

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

module.exports = User;

user.routes.js

এখন, Express.js রাউট কনফিগারেশনে এই মডেলকে ব্যবহার করে GET এবং POST রিকোয়েস্ট হ্যান্ডল করা যাক।

'use strict';

var express = require('express');
var router = express.Router();
var User = require('../models/user.model');

// GET: সব ইউজারের তথ্য পাওয়ার রাউট
router.get('/users', function(req, res) {
    User.find()
        .then(users => {
            res.status(200).json(users);  // JSON রেসপন্স রিটার্ন করা
        })
        .catch(err => {
            res.status(500).json({ message: 'Error retrieving users', error: err });
        });
});

// POST: নতুন ইউজার তৈরি করার রাউট
router.post('/users', function(req, res) {
    var newUser = new User(req.body);  // রিকোয়েস্ট বডি থেকে নতুন ইউজার তৈরি

    newUser.save()
        .then(user => {
            res.status(201).json(user);  // নতুন ইউজার রেসপন্সে রিটার্ন করা
        })
        .catch(err => {
            res.status(400).json({ message: 'Error creating user', error: err });
        });
});

module.exports = router;

এখানে, GET /users রাউটটি সমস্ত ইউজারের তথ্য রিটার্ন করবে এবং POST /users রাউটটি নতুন ইউজার তৈরি করবে।

app.js তে রাউট যোগ করা

'use strict';

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var userRoutes = require('./routes/user.routes');  // রাউট ফাইল ইমপোর্ট করা

var app = express();

// Body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

// MongoDB কানেকশন
mongoose.connect('mongodb://localhost:27017/meanjs', { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => {
        console.log('MongoDB connected');
    })
    .catch(err => {
        console.log('MongoDB connection error:', err);
    });

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

// Port সেট করা
var port = 3000;
app.listen(port, () => {
    console.log('Server running on port ' + port);
});

এখানে, আমরা /api/users রাউটটি user.routes.js ফাইল থেকে ইমপোর্ট করেছি এবং Express.js অ্যাপ্লিকেশনে যুক্ত করেছি।


৩. API রেসপন্স হ্যান্ডল করা

এখন আমরা Express.js এর মাধ্যমে API রেসপন্স হ্যান্ডল করব। API রেসপন্স হ্যান্ডল করার জন্য, আমরা HTTP স্ট্যাটাস কোড ব্যবহার করি যেমন:

  • 200 OK: রিকোয়েস্ট সফল হয়েছে।
  • 201 Created: নতুন রিসোর্স সফলভাবে তৈরি হয়েছে।
  • 400 Bad Request: রিকোয়েস্টে কিছু ভুল রয়েছে (যেমন, ইনপুট ভ্যালিডেশন বা ডেটা মিসিং)।
  • 500 Internal Server Error: সার্ভারে কিছু ত্রুটি হয়েছে।

এগুলো হ্যান্ডল করতে, আমরা res.status(code).json() পদ্ধতি ব্যবহার করি।

GET রেসপন্স উদাহরণ

res.status(200).json(users);  // 200 OK স্ট্যাটাস সহ ইউজার ডেটা রিটার্ন করা

POST রেসপন্স উদাহরণ

res.status(201).json(user);  // 201 Created স্ট্যাটাস সহ নতুন ইউজার রিটার্ন করা

Error রেসপন্স উদাহরণ

res.status(500).json({ message: 'Error retrieving users', error: err });  // 500 Internal Server Error

৪. Frontend থেকে API কল করা

এখন, Frontend (যেমন, AngularJS) থেকে এই API কল করা যাবে। AngularJS এর মাধ্যমে GET এবং POST রিকোয়েস্ট পাঠানোর জন্য $http সার্ভিস ব্যবহার করা যেতে পারে।

$http.get('/api/users')
    .then(function(response) {
        console.log('Users:', response.data);  // API থেকে রিটার্ন হওয়া ডেটা
    })
    .catch(function(error) {
        console.error('Error:', error);
    });
$http.post('/api/users', newUser)
    .then(function(response) {
        console.log('User created:', response.data);  // নতুন ইউজার তৈরি হওয়ার পর রিটার্ন হওয়া ডেটা
    })
    .catch(function(error) {
        console.error('Error:', error);
    });

সারাংশ

Express.js এর মাধ্যমে API রেসপন্স হ্যান্ডল করা খুবই সহজ এবং কার্যকরী। আপনি HTTP Status Codes ব্যবহার করে বিভিন্ন ধরনের রেসপন্স হ্যান্ডল করতে পারেন, যেমন ডেটা সফলভাবে প্রাপ্ত হলে 200 OK, নতুন রিসোর্স তৈরি হলে 201 Created, এবং ভুল হলে 400 Bad Request বা 500 Internal Server Error। এর মাধ্যমে আপনি API কল করার সময় ব্যবহারকারীদের উপযুক্ত রেসপন্স দিতে পারেন, যা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...