URL Parameters হ্যান্ডল করা

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

252

ExpressJS-এ URL Parameters (যেমন Route Parameters) ব্যবহার করে আপনি URL-এর অংশ হিসেবে ডাইনামিক ডেটা প্রাপ্তি করতে পারেন। এই URL Parameters এক্সপ্রেস অ্যাপ্লিকেশনের বিভিন্ন রাউটের জন্য ডাইনামিক ভ্যালু সংগ্রহ করতে সহায়ক হয়।

ExpressJS-এ URL Parameters দুটি প্রধানভাবে ব্যবহৃত হয়: Route Parameters এবং Query Parameters। এখানে আমরা শুধু Route Parameters (যা URL এর অংশ হিসেবে থাকে) নিয়ে আলোচনা করব।


১. Route Parameters (রাউট প্যারামিটার)

রাউট প্যারামিটার হল সেই অংশ যা URL-এর মধ্যে : (কলন) চিহ্ন দিয়ে ডাইনামিকভাবে সংজ্ঞায়িত করা হয়। এগুলি অ্যাপ্লিকেশনকে URL থেকে ইনপুট হিসেবে ডেটা গ্রহণ করতে সক্ষম করে।


২. Route Parameters ব্যবহার করা

ExpressJS-এ রাউট প্যারামিটার ব্যবহারের জন্য সাধারণত /somepath/:parameterName ফর্ম্যাটে URL নির্ধারণ করা হয়। এরপর req.params অবজেক্ট ব্যবহার করে এই প্যারামিটারগুলিকে অ্যাক্সেস করা হয়।

২.১. রাউট প্যারামিটার হ্যান্ডলিংয়ের উদাহরণ:

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

// রাউট প্যারামিটার ব্যবহার
app.get('/user/:id', (req, res) => {
  const userId = req.params.id;
  res.send(`User ID is: ${userId}`);
});

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

এখানে, /user/:id URL-এ :id প্যারামিটারটি ডাইনামিকভাবে পরিমাণ গ্রহণ করবে। যখন ব্যবহারকারী http://localhost:3000/user/123 URL-এ যাবে, তখন 123 এর মান req.params.id দ্বারা অ্যাক্সেস করা হবে এবং রেসপন্সে "User ID is: 123" দেখানো হবে।

২.২. একাধিক রাউট প্যারামিটার ব্যবহার

আপনি একাধিক প্যারামিটারও ব্যবহার করতে পারেন, উদাহরণস্বরূপ:

app.get('/user/:id/:action', (req, res) => {
  const { id, action } = req.params;
  res.send(`User ID: ${id}, Action: ${action}`);
});

এখন, যদি ব্যবহারকারী http://localhost:3000/user/123/edit URL-এ যায়, তাহলে আপনি রেসপন্সে "User ID: 123, Action: edit" দেখবেন।

২.৩. রাউট প্যারামিটার টেমপ্লেট ব্যবহার

আপনি আরও ডাইনামিক রাউট তৈরি করতে পারবেন যেখানে URL-এর অংশের মধ্যে বিভিন্ন ধরণের প্যারামিটার ব্যবহার করা হবে।

উদাহরণ:

app.get('/product/:category/:id', (req, res) => {
  const { category, id } = req.params;
  res.send(`Product Category: ${category}, Product ID: ${id}`);
});

এখন, http://localhost:3000/product/electronics/567 URL-এ গিয়ে রেসপন্স হিসেবে "Product Category: electronics, Product ID: 567" দেখবেন।


৩. Route Parameters ভ্যালিডেশন

যদি আপনি চান যে রাউট প্যারামিটারটি একটি নির্দিষ্ট ধরণের (যেমন সংখ্যামূলক) হওয়া উচিত, তাহলে আপনি middleware ব্যবহার করে এটি যাচাই করতে পারেন।

উদাহরণ:

app.get('/user/:id', (req, res, next) => {
  const userId = req.params.id;

  // প্যারামিটারটি সংখ্যামূলক কিনা যাচাই করা
  if (isNaN(userId)) {
    res.status(400).send('Invalid User ID');
  } else {
    next();
  }
}, (req, res) => {
  const userId = req.params.id;
  res.send(`User ID is: ${userId}`);
});

এখানে, যদি id প্যারামিটারটি সংখ্যা না হয়, তবে একটি 400 Invalid User ID এরর রেসপন্স দেওয়া হবে, এবং যদি এটি সংখ্যা হয়, তবে রাউটের পরবর্তী হ্যান্ডলারটি কার্যকর হবে।


৪. Route Parameters এবং Query Strings একত্রে ব্যবহার

ExpressJS-এ আপনি রাউট প্যারামিটার এবং কুয়েরি স্ট্রিং একসাথে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যখন কোনো রাউট প্যারামিটার ব্যবহার করা হয়, তখন একই রাউটে কুয়েরি স্ট্রিং যোগ করা যায়।

উদাহরণ:

app.get('/user/:id', (req, res) => {
  const userId = req.params.id;
  const filter = req.query.filter; // কুয়েরি স্ট্রিং থেকে filter নেয়া হচ্ছে
  res.send(`User ID: ${userId}, Filter: ${filter}`);
});

এখন, যদি আপনি URL দিয়ে http://localhost:3000/user/123?filter=active যান, তাহলে আপনি রেসপন্স হিসেবে "User ID: 123, Filter: active" দেখতে পাবেন।


৫. Optional Route Parameters (ঐচ্ছিক প্যারামিটার)

ExpressJS-এ URL প্যারামিটার ঐচ্ছিকও হতে পারে। এর জন্য আপনি রাউটের প্যারামিটারটি একটি কুয়েরি স্ট্রিং হিসেবে ব্যবহার করতে পারেন বা ? চিহ্ন ব্যবহার করতে পারেন।

উদাহরণ:

app.get('/user/:id?', (req, res) => {
  const userId = req.params.id || 'Guest';
  res.send(`User ID: ${userId}`);
});

এখানে, /user/ URL গেলে userId হিসেবে Guest প্রদর্শিত হবে, এবং /user/123 URL গেলে User ID: 123 দেখাবে।


সারাংশ

ExpressJS-এ URL প্যারামিটারগুলি অ্যাপ্লিকেশনের রাউট ডাইনামিক এবং নমনীয় করে তোলে। req.params ব্যবহার করে আপনি রাউট প্যারামিটারগুলো অ্যাক্সেস করতে পারেন এবং সেগুলির মাধ্যমে বিভিন্ন ধরনের ডাইনামিক ডেটা গ্রহণ করতে পারেন। একাধিক প্যারামিটার ব্যবহার, ভ্যালিডেশন, এবং কুয়েরি স্ট্রিংয়ের সাথে একত্রে কাজ করার মাধ্যমে আপনি আরও ফ্লেক্সিবল এবং শক্তিশালী রাউট তৈরি করতে পারবেন। ExpressJS এর এই ক্ষমতা অ্যাপ্লিকেশন ডেভেলপমেন্টকে আরও সহজ এবং কার্যকর করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...