ExpressJS এর মাধ্যমে আপনি বিভিন্ন HTTP রিকোয়েস্ট যেমন GET এবং POST রিকোয়েস্ট প্রক্রিয়া করতে পারেন। GET রিকোয়েস্ট সাধারণত ইউআরএল থেকে ডেটা নিয়ে আসে, এবং POST রিকোয়েস্টের মাধ্যমে ইউজার বা ক্লায়েন্ট সার্ভারে ডেটা পাঠায়। ExpressJS এ এই রিকোয়েস্ট প্রক্রিয়া করতে বেশ কিছু সহজ উপায় রয়েছে।
GET রিকোয়েস্ট
GET রিকোয়েস্ট সাধারণত ব্রাউজারে ইউআরএল টাইপ করার মাধ্যমে অথবা কোনো লিঙ্ক ক্লিক করার মাধ্যমে হয়। এই রিকোয়েস্টে ডেটা সাধারণত ইউআরএলের প্যারামিটার হিসেবে পাঠানো হয়।
১. GET রিকোয়েস্ট প্রক্রিয়া করা
ExpressJS-এ GET রিকোয়েস্ট প্রক্রিয়া করার জন্য app.get() ফাংশন ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো:
const express = require('express');
const app = express();
const port = 3000;
// GET রিকোয়েস্ট হ্যান্ডলার
app.get('/', (req, res) => {
res.send('Hello, this is a GET request!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
এখানে:
/পাথের জন্য একটি GET রিকোয়েস্ট হ্যান্ডলার সেট করা হয়েছে।- রিকোয়েস্ট আসলে এটি
Hello, this is a GET request!পাঠাবে।
২. URL প্যারামিটার দিয়ে GET রিকোয়েস্ট
GET রিকোয়েস্টে আপনি ইউআরএলের মধ্যে ডেটা প্যারামিটার হিসেবে পাঠাতে পারেন। উদাহরণস্বরূপ:
app.get('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`User ID is: ${userId}`);
});
এখানে:
/user/:idরাউটে:idএকটি প্যারামিটার যা ইউআরএল থেকে ডাইনামিকভাবে গ্রহণ করা হয়। যেমন,/user/123রিকোয়েস্টেuserId = 123হবে।
৩. GET রিকোয়েস্টে Query Parameters
GET রিকোয়েস্টে আপনি URL-এ query parameters পাঠাতে পারেন, যা req.query দ্বারা এক্সেস করা হয়।
app.get('/search', (req, res) => {
const query = req.query.q; // ?q=express
res.send(`Search results for: ${query}`);
});
এখানে:
/search?q=expressএ গেলেqপ্যারামিটার গ্রহণ করা হবে এবং"Search results for: express"রেসপন্স পাঠানো হবে।
POST রিকোয়েস্ট
POST রিকোয়েস্ট সাধারণত ক্লায়েন্ট থেকে সার্ভারে ডেটা পাঠানোর জন্য ব্যবহৃত হয়, যেমন ফর্ম সাবমিট করা বা JSON ডেটা পাঠানো। POST রিকোয়েস্টে ডেটা সাধারণত রিকোয়েস্ট বডিতে পাঠানো হয়।
১. POST রিকোয়েস্ট প্রক্রিয়া করা
ExpressJS-এ POST রিকোয়েস্ট প্রক্রিয়া করতে app.post() ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ:
app.post('/submit', (req, res) => {
res.send('POST request received!');
});
এখানে:
/submitপাথের জন্য POST রিকোয়েস্ট হ্যান্ডলার সেট করা হয়েছে।
২. POST রিকোয়েস্টে JSON ডেটা পাঠানো
আপনি POST রিকোয়েস্টে JSON ডেটা পাঠাতে পারেন, এবং ExpressJS-এ JSON ডেটা প্রক্রিয়া করার জন্য express.json() middleware ব্যবহার করা হয়। উদাহরণস্বরূপ:
app.use(express.json()); // JSON ডেটা পার্স করার জন্য middleware
app.post('/user', (req, res) => {
const user = req.body; // POST ডেটা গ্রহণ
res.send(`User created with name: ${user.name}`);
});
এখানে:
express.json()middleware রিকোয়েস্টের বডি থেকে JSON ডেটা পার্স করে।req.bodyএর মাধ্যমে সেই ডেটা অ্যাক্সেস করা যায়। উদাহরণস্বরূপ, যদি{ "name": "John Doe" }ডেটা POST করা হয়, তাহলে"User created with name: John Doe"রেসপন্স দেওয়া হবে।
৩. POST রিকোয়েস্টে URL Encoded ডেটা পাঠানো
অন্য একটি সাধারণ পদ্ধতি হল URL-encoded ডেটা পাঠানো, যা HTML ফর্মের মাধ্যমে প্রেরিত হয়। ExpressJS-এ এই ধরনের ডেটা প্রক্রিয়া করার জন্য express.urlencoded() middleware ব্যবহার করা হয়।
app.use(express.urlencoded({ extended: true })); // URL-encoded ডেটা পার্স করার জন্য middleware
app.post('/form', (req, res) => {
const name = req.body.name; // ফর্ম ডেটা গ্রহণ
res.send(`Form submitted with name: ${name}`);
});
এখানে:
- ফর্মে
nameইনপুট করা হলে, এটিreq.body.nameএর মাধ্যমে এক্সেস করা যাবে। - URL-encoded ডেটা POST করলে, যেমন:
name=John Doe, তাreq.bodyএ প্রাপ্ত হবে।
GET এবং POST রিকোয়েস্টের মধ্যে পার্থক্য
| বৈশিষ্ট্য | GET রিকোয়েস্ট | POST রিকোয়েস্ট |
|---|---|---|
| উদ্দেশ্য | সার্ভার থেকে ডেটা আনা | সার্ভারে ডেটা পাঠানো |
| ডেটার অবস্থান | ইউআরএল প্যারামিটার বা Query String | রিকোয়েস্ট বডি |
| নিরাপত্তা | কম, কারণ ডেটা ইউআরএলে থাকে | বেশি, কারণ ডেটা রিকোয়েস্ট বডিতে থাকে |
| ক্যাশিং | GET রিকোয়েস্ট সাধারণত ক্যাশ করা হয় | POST রিকোয়েস্ট ক্যাশ করা হয় না |
| সুরক্ষা | কম সুরক্ষিত (ডেটা URL-এ থাকে) | বেশি সুরক্ষিত (ডেটা বডিতে থাকে) |
সারাংশ
ExpressJS এ GET এবং POST রিকোয়েস্ট প্রক্রিয়া করার জন্য সহজ এবং শক্তিশালী উপায় সরবরাহ করে। GET রিকোয়েস্ট সাধারণত ইউআরএল থেকে ডেটা আনতে ব্যবহৃত হয়, যেখানে POST রিকোয়েস্ট ক্লায়েন্ট থেকে সার্ভারে ডেটা পাঠানোর জন্য ব্যবহৃত হয়। ExpressJS এর মাধ্যমে আপনি URL প্যারামিটার, query parameters, এবং বডি ডেটা সহজেই প্রক্রিয়া করতে পারেন, যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে অত্যন্ত কার্যকর।
Read more