Body Parser Middleware ব্যবহার করা

Form Handling এবং Validation - এক্সপ্রেসজেএস (ExpressJS) - Web Development

257

ExpressJS একটি খুব জনপ্রিয় Node.js ফ্রেমওয়ার্ক যা HTTP রিকোয়েস্ট প্রসেস করতে অনেক ধরনের মিডলওয়্যার ব্যবহার করতে সহায়তা করে। Body Parser Middleware একটি গুরুত্বপূর্ণ মিডলওয়্যার যা HTTP রিকোয়েস্টের body থেকে ডাটা বের করে নেয়, বিশেষ করে POST বা PUT রিকোয়েস্টে প্রেরিত ডাটা।

ExpressJS-এর মাধ্যমে HTTP রিকোয়েস্টের body পার্স করার জন্য Body Parser মিডলওয়্যার ব্যবহার করা হয়। এটা আপনার অ্যাপ্লিকেশনে ডাটা গ্রহণ এবং প্রক্রিয়া করার জন্য অত্যন্ত গুরুত্বপূর্ণ।


১. Body Parser Middleware এর প্রয়োজনীয়তা

যখন কোনো HTTP রিকোয়েস্টের body থেকে ডাটা (যেমন: JSON, URL-encoded ডাটা) গ্রহণ করতে হয়, তখন এই ডাটা স্বাভাবিকভাবে req.body তে পাওয়া যায়। কিন্তু, ExpressJS ডিফল্টভাবে এই ডাটা প্যার্স করে না, তাই এটি পার্স করার জন্য মিডলওয়্যার প্রয়োজন।

২. Body Parser Middleware ইনস্টল করা

ExpressJS-এর সর্বশেষ সংস্করণে (4.x বা পরবর্তী), Body Parser মিডলওয়্যার আর আলাদাভাবে ইনস্টল করার প্রয়োজন নেই। Express নিজেই express.json() এবং express.urlencoded() মিডলওয়্যার সরবরাহ করে। তবে, পুরানো Express সংস্করণে body-parser প্যাকেজটি আলাদাভাবে ইনস্টল করা হত।

পুরানো সংস্করণের জন্য body-parser প্যাকেজ ইনস্টল

npm install body-parser

এটি ব্যবহার করতে হলে, আপনাকে আপনার অ্যাপে body-parser মিডলওয়্যার অন্তর্ভুক্ত করতে হবে।


৩. Express 4.x বা পরবর্তী সংস্করণে Body Parser Middleware ব্যবহার

Express 4.x সংস্করণ থেকে, body-parser আলাদাভাবে ইনস্টল করার প্রয়োজন নেই। Express-এ express.json() এবং express.urlencoded() মিডলওয়্যার সরাসরি অন্তর্ভুক্ত করা হয়েছে। আপনি এই মিডলওয়্যারগুলিকে নিচের মতো ব্যবহার করতে পারেন।

৩.১. express.json() মিডলওয়্যার

এই মিডলওয়্যারটি ইনকামিং JSON ডাটা পার্স করার জন্য ব্যবহৃত হয়। এটি রিকোয়েস্টের body থেকে JSON ডাটা প্যার্স করে req.body তে রাখে।

const express = require('express');
const app = express();

// JSON প্যার্সিং মিডলওয়্যার
app.use(express.json());

app.post('/data', (req, res) => {
  console.log(req.body);  // এখানে JSON ডাটা পাওয়া যাবে
  res.send('Data received');
});

app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

এখানে, app.use(express.json()) মিডলওয়্যারটি JSON ডাটা প্যার্স করতে ব্যবহৃত হচ্ছে। যখন কোনো POST রিকোয়েস্টে JSON ডাটা পাঠানো হবে, তা req.body তে পাওয়া যাবে।

৩.২. express.urlencoded() মিডলওয়্যার

এই মিডলওয়্যারটি URL-encoded ফর্ম ডাটা পার্স করার জন্য ব্যবহৃত হয়। এটি মূলত HTML ফর্ম থেকে প্রাপ্ত ডাটা (যেমন, ফর্ম ইনপুট) পার্স করতে সাহায্য করে।

app.use(express.urlencoded({ extended: true }));

app.post('/formdata', (req, res) => {
  console.log(req.body);  // এখানে URL-encoded ফর্ম ডাটা পাওয়া যাবে
  res.send('Form data received');
});

এখানে, express.urlencoded({ extended: true }) মিডলওয়্যারটি URL-encoded ডাটা প্যার্স করতে ব্যবহৃত হয়। extended: true অপশনটি পছন্দ করা হয়, কারণ এটি qs লাইব্রেরি ব্যবহার করে ডাটা প্যার্স করে, যা আরও জটিল ডাটা স্ট্রাকচার (যেমন: nested objects) সমর্থন করে।

৪. পুরানো সংস্করণের ExpressJS-এ body-parser ব্যবহার করা

যদি আপনার অ্যাপ্লিকেশন পুরানো Express সংস্করণে চলে এবং body-parser প্যাকেজ ব্যবহার করতে চান, তাহলে আপনি নিম্নলিখিতভাবে মিডলওয়্যারটি ব্যবহার করতে পারেন:

৪.১. body-parser প্যাকেজ ইমপোর্ট করা

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

৪.২. body-parser ব্যবহার করা

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

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

// URL-encoded ফর্ম ডাটা প্যার্সিং
app.use(bodyParser.urlencoded({ extended: true }));

app.post('/data', (req, res) => {
  console.log(req.body);  // এখানে JSON বা ফর্ম ডাটা পাওয়া যাবে
  res.send('Data received');
});

app.listen(3000, () => {
  console.log('Server running at http://localhost:3000');
});

এখানে, bodyParser.json() এবং bodyParser.urlencoded() মিডলওয়্যার ব্যবহার করা হচ্ছে JSON এবং URL-encoded ডাটা প্যার্স করার জন্য।


৫. Request Body Parsing উদাহরণ

এখন, আমরা কয়েকটি উদাহরণ দেখবো যেখানে POST রিকোয়েস্টে ডাটা পাঠানো হবে এবং Body Parser মিডলওয়্যার ব্যবহার করে সেই ডাটাকে প্যার্স করা হবে।

৫.১. JSON ডাটা পাঠানো

Client Side Example (Postman বা অন্য HTTP Client):

{
  "name": "John",
  "age": 25
}

Server Side Example:

app.post('/jsondata', (req, res) => {
  console.log(req.body);  // { name: 'John', age: 25 }
  res.send('JSON data received');
});

৫.২. URL-encoded ফর্ম ডাটা পাঠানো

Client Side Example (HTML Form):

<form action="/formdata" method="POST">
  <input type="text" name="username" value="john_doe" />
  <input type="password" name="password" value="secret" />
  <button type="submit">Submit</button>
</form>

Server Side Example:

app.post('/formdata', (req, res) => {
  console.log(req.body);  // { username: 'john_doe', password: 'secret' }
  res.send('Form data received');
});

সারাংশ

Body Parser Middleware ExpressJS অ্যাপ্লিকেশনের একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা HTTP রিকোয়েস্টের body থেকে ডাটা পার্স করে req.body তে পাঠায়। Express 4.x বা পরবর্তী সংস্করণে, আপনি সহজেই express.json() এবং express.urlencoded() ব্যবহার করে JSON এবং URL-encoded ডাটা প্যার্স করতে পারেন। পুরানো সংস্করণে, আপনাকে body-parser প্যাকেজ ইনস্টল করতে হবে। এই মিডলওয়্যার ব্যবহারের মাধ্যমে আপনি HTTP রিকোয়েস্টের body থেকে ডাটা গ্রহণ এবং প্রক্রিয়া করতে পারবেন, যা API ডেভেলপমেন্টে অত্যন্ত গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...