KoaJS Routing

কোআজেএস (KoaJS) - Web Development

249

KoaJS একটি অত্যন্ত লঘু এবং কাস্টমাইজযোগ্য ওয়েব ফ্রেমওয়ার্ক, যা Node.js এর উপর তৈরি। KoaJS-এ রাউটিং খুবই সহজ এবং সরল, তবে এর জন্য সাধারণত কোনো বিল্ট-ইন রাউটিং সিস্টেম নেই, যেমন ExpressJS তে থাকে। এর পরিবর্তে, KoaJS একটি মিনিমালিস্ট কাঠামো প্রদান করে, যেখানে আপনি কাস্টম রাউটিং মেকানিজম তৈরি করতে পারেন বা তৃতীয় পক্ষের রাউটিং লাইব্রেরি ব্যবহার করতে পারেন।

KoaJS-এ রাউটিং পরিচালনা করার জন্য সাধারণত কিছু কাস্টম মিডলওয়্যার ব্যবহৃত হয়। এর মধ্যে সবচেয়ে জনপ্রিয় হলো koa-router। এই লাইব্রেরিটি KoaJS এর জন্য একটি সহজ এবং শক্তিশালী রাউটিং সিস্টেম সরবরাহ করে, যা URL পাথ, HTTP মেথড (GET, POST, PUT, DELETE, ইত্যাদি) এবং রিকোয়েস্ট হ্যান্ডলিংকে সিম্পল করে তোলে।


KoaJS তে রাউটিং পরিচালনা

১. koa-router ব্যবহার করা

KoaJS-এ রাউটিং ব্যবস্থাপনা করার জন্য koa-router লাইব্রেরি খুবই জনপ্রিয়। এটি KoaJS অ্যাপ্লিকেশনে রাউটিং সুবিধা যুক্ত করতে সাহায্য করে। নিচে koa-router ব্যবহার করে একটি সহজ রাউটিং উদাহরণ দেওয়া হলো।

স্টেপ ১: koa-router ইনস্টল করা

প্রথমে koa-router প্যাকেজটি ইনস্টল করতে হবে:

npm install koa-router
স্টেপ ২: KoaJS অ্যাপে koa-router ব্যবহার করা
// Koa এবং koa-router ইমপোর্ট করা
const Koa = require('koa');
const Router = require('koa-router');

// Koa অ্যাপ্লিকেশন তৈরি
const app = new Koa();

// koa-router রাউটার তৈরি
const router = new Router();

// একটি GET রুট তৈরি
router.get('/', (ctx) => {
  ctx.body = 'Hello, KoaJS!';
});

// অন্য একটি GET রুট তৈরি
router.get('/about', (ctx) => {
  ctx.body = 'This is an about page!';
});

// Koa অ্যাপ্লিকেশনে রাউটিং যুক্ত করা
app.use(router.routes()).use(router.allowedMethods());

// অ্যাপ চালু করা
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

এই কোডের মাধ্যমে একটি KoaJS অ্যাপ্লিকেশন তৈরি করা হয়েছে, যেখানে দুটি রুট আছে:

  1. / - এটি একটি সাধারণ হোম পেজ।
  2. /about - এটি একটি পেজ যা অ্যাপ্লিকেশনের সম্পর্কে তথ্য দেখায়।

এখন আপনি http://localhost:3000 এ গিয়ে হোম পেজ দেখতে পাবেন এবং http://localhost:3000/about এ গিয়ে সম্পর্কে পেজ দেখতে পারবেন।


২. বিভিন্ন HTTP মেথড ব্যবহার করা

koa-router দিয়ে বিভিন্ন HTTP মেথড (GET, POST, PUT, DELETE) পরিচালনা করা সহজ। নিচে কিছু উদাহরণ দেওয়া হলো।

POST রাউট
router.post('/submit', (ctx) => {
  const { name } = ctx.request.body;
  ctx.body = `Received POST request with name: ${name}`;
});
PUT রাউট
router.put('/update', (ctx) => {
  const { id, data } = ctx.request.body;
  ctx.body = `Updated data for ID ${id}: ${data}`;
});
DELETE রাউট
router.delete('/delete/:id', (ctx) => {
  const { id } = ctx.params;
  ctx.body = `Deleted resource with ID: ${id}`;
});

KoaJS রাউটিং এর অন্যান্য সুবিধা

১. রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার

KoaJS-এ রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার খুব সহজে ব্যবহার করা যায়। উদাহরণস্বরূপ, URL থেকে প্যারামিটার নিতে হলে ctx.params এবং কুয়েরি প্যারামিটার নিতে ctx.query ব্যবহার করা হয়।

উদাহরণ:
router.get('/user/:id', (ctx) => {
  const userId = ctx.params.id;
  ctx.body = `User ID is: ${userId}`;
});

router.get('/search', (ctx) => {
  const query = ctx.query.q;
  ctx.body = `Search query: ${query}`;
});

২. কাস্টম মিডলওয়্যার

KoaJS-এ রাউটিং পরিচালনার পাশাপাশি আপনি কাস্টম মিডলওয়্যারও ব্যবহার করতে পারেন। এর মাধ্যমে আপনি রিকোয়েস্ট প্রসেসিংয়ের সময় কিছু অতিরিক্ত কাজ করতে পারেন, যেমন লগিং, অথেন্টিকেশন, ইত্যাদি।

উদাহরণ:
router.use(async (ctx, next) => {
  console.log(`Received request: ${ctx.method} ${ctx.url}`);
  await next();
});

সারাংশ

KoaJS-এ রাউটিং খুবই সহজ এবং কাস্টমাইজযোগ্য। এটি মিনিমালিস্ট হওয়ার কারণে, আপনাকে নিজের রাউটিং সিস্টেম তৈরি করতে হয় অথবা তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করতে হয়। koa-router সবচেয়ে জনপ্রিয় এবং ব্যবহৃত লাইব্রেরি, যা URL পাথ, HTTP মেথড এবং মিডলওয়্যার হ্যান্ডলিং সহজ করে তোলে। KoaJS এর এই রাউটিং সিস্টেম খুবই নমনীয় এবং স্কেলযোগ্য, যা বড় অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য উপযুক্ত।

Content added By

Routing হলো একটি ওয়েব অ্যাপ্লিকেশন বা API-তে রিকোয়েস্টের URL পাথের সাথে সম্পর্কিত বিভিন্ন কার্যক্রম পরিচালনা করার প্রক্রিয়া। সাধারণভাবে, রাউটিং কোডের মাধ্যমে নির্দিষ্ট পাথ বা URL অনুযায়ী অ্যাকশন বা রেসপন্স নির্ধারণ করা হয়। KoaJS-এ, রাউটিং ব্যবস্থাপনা খুবই গুরুত্বপূর্ণ, কারণ এটি নির্ধারণ করে যে কোন HTTP রিকোয়েস্টের জন্য কিভাবে রেসপন্স দেওয়া হবে এবং কোন ফাংশন বা মিডলওয়্যারটি চালানো হবে।

KoaJS স্বয়ংক্রিয়ভাবে রাউটিং সমর্থন করে না, তবে এটি koa-router প্যাকেজ ব্যবহার করে রাউটিং কার্যক্রম সহজ করে তোলে। KoaJS-এ রাউটিং ব্যবস্থাপনা করতে koa-router একটি অত্যন্ত জনপ্রিয় প্যাকেজ।


KoaJS এ Routing এর প্রয়োজনীয়তা

KoaJS-এ রাউটিং ব্যবস্থাপনা প্রয়োজনীয় কারণ এটি ওয়েব অ্যাপ্লিকেশনে বিভিন্ন URL এবং তাদের সম্পর্কিত অ্যাকশনের মধ্যে সংযোগ তৈরি করে। এর মাধ্যমে, অ্যাপ্লিকেশন বুঝতে পারে যে কোন URL পাথের জন্য কী ধরনের কার্যকলাপ করা হবে। নীচে রাউটিংয়ের কিছু প্রধান প্রয়োজনীয়তা তুলে ধরা হলো:

১. URL এবং কার্যকলাপের মধ্যে সম্পর্ক স্থাপন

প্রতিটি ওয়েব পেজ বা API রিকোয়েস্ট নির্দিষ্ট একটি URL এর সাথে যুক্ত থাকে। রাউটিং কনফিগারেশন মাধ্যমে URL পাথ অনুযায়ী সঠিক কার্যকলাপ নির্ধারণ করা হয়। উদাহরণস্বরূপ, একটি GET রিকোয়েস্ট /users পাথের জন্য ইউজারদের তথ্য ফেরত দিতে পারে, এবং একটি POST রিকোয়েস্ট /users পাথের জন্য নতুন ইউজার তৈরি করতে পারে।

২. HTTP মেথড হ্যান্ডলিং

রাউটিং HTTP মেথড (GET, POST, PUT, DELETE, ইত্যাদি) অনুযায়ী নির্ধারণ করে যে, কোন মেথডের জন্য কোন ফাংশন বা হ্যান্ডলার কাজ করবে। KoaJS-এ koa-router এর মাধ্যমে সহজে এই মেথড হ্যান্ডলিং করা যায়। উদাহরণস্বরূপ:

  • GET মেথড - ডেটা পেতে ব্যবহৃত হয়।
  • POST মেথড - নতুন ডেটা বা রিসোর্স তৈরি করতে ব্যবহৃত হয়।
  • PUT মেথড - বিদ্যমান ডেটা আপডেট করতে ব্যবহৃত হয়।
  • DELETE মেথড - ডেটা মুছে ফেলতে ব্যবহৃত হয়।

৩. নির্দিষ্ট পাথের জন্য নির্দিষ্ট কার্যক্রম

রাউটিং ব্যবস্থাপনা আপনাকে বিশেষ পাথের জন্য নির্দিষ্ট কাজ করতে সাহায্য করে। উদাহরণস্বরূপ, আপনি /login পাথের জন্য একটি লগিন ফর্ম দেখাতে পারেন, আবার /register পাথের জন্য নিবন্ধন ফর্ম প্রদর্শন করতে পারেন। এইভাবে, প্রতিটি পাথের জন্য পৃথক কার্যক্রম নির্ধারণ করা যায়।

৪. প্যারামিটার এবং কুয়েরি স্ট্রিং হ্যান্ডলিং

রাউটিং প্যারামিটার (যেমন /users/:id) এবং কুয়েরি স্ট্রিং (যেমন /search?query=test) হ্যান্ডলিং এর মাধ্যমে ডায়নামিক পাথ এবং ইউজার ইনপুট প্রসেস করা হয়। KoaJS এবং koa-router এই ধরনের প্যারামিটার হ্যান্ডলিং সহজভাবে করতে সক্ষম।

৫. মিডলওয়্যার চেইনিং

KoaJS-এ রাউটিং ব্যবস্থার মাধ্যমে মিডলওয়্যার চেইনিং সহজ হয়। রাউটিংয়ের মাধ্যমে প্রতিটি রিকোয়েস্টের জন্য নির্দিষ্ট মিডলওয়্যার চালানো হয়, যা রিকোয়েস্ট প্রক্রিয়াকে আরও কার্যকরী এবং কাস্টমাইজযোগ্য করে তোলে। উদাহরণস্বরূপ, আপনি কিছু রাউটের জন্য অথেনটিকেশন মিডলওয়্যার যুক্ত করতে পারেন।


KoaJS-এ Routing কিভাবে কাজ করে

KoaJS-এ রাউটিং ব্যবস্থাপনা করতে koa-router প্যাকেজ ব্যবহার করা হয়। koa-router একটি শক্তিশালী রাউটিং লাইব্রেরি যা URL পাথের ভিত্তিতে HTTP রিকোয়েস্টের জন্য নির্দিষ্ট হ্যান্ডলার বা মিডলওয়্যার পরিচালনা করে।

Koa-router ইনস্টলেশন:

npm install koa-router

একটি মৌলিক KoaJS অ্যাপ্লিকেশন তৈরি করা যেখানে রাউটিং ব্যবহৃত হচ্ছে:

const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();

// একটি GET রাউট তৈরি করা
router.get('/', (ctx) => {
  ctx.body = 'Hello, Koa!';
});

// একটি POST রাউট তৈরি করা
router.post('/submit', (ctx) => {
  ctx.body = 'Data Submitted';
});

// রাউটগুলো অ্যাপ্লিকেশনে যোগ করা
app.use(router.routes()).use(router.allowedMethods());

// অ্যাপ্লিকেশন চালানো
app.listen(3000, () => {
  console.log('Koa app is running on http://localhost:3000');
});

এই উদাহরণে, / পাথের জন্য একটি GET রিকোয়েস্ট হ্যান্ডলার এবং /submit পাথের জন্য একটি POST রিকোয়েস্ট হ্যান্ডলার তৈরি করা হয়েছে।


সারাংশ

KoaJS-এ রাউটিং হল একটি গুরুত্বপূর্ণ ফিচার, যা বিভিন্ন URL পাথের জন্য কার্যকরী অ্যাকশন বা ফাংশন পরিচালনা করে। এটি HTTP মেথড, প্যারামিটার হ্যান্ডলিং, কুয়েরি স্ট্রিং, এবং মিডলওয়্যার চেইনিং-এর মাধ্যমে ওয়েব অ্যাপ্লিকেশনের কার্যক্রম সুসংহত করে। koa-router ব্যবহার করে KoaJS-এ সহজে রাউটিং ব্যবস্থা সেটআপ করা যায় এবং এর মাধ্যমে URL এবং HTTP মেথডের সাথে সম্পর্কিত সঠিক কার্যক্রম পরিচালনা করা সম্ভব হয়।

Content added By

koa-router একটি পপুলার রাউটিং লাইব্রেরি যা KoaJS অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি KoaJS-এ রাউটিং পরিচালনা করতে সাহায্য করে এবং বিভিন্ন HTTP রিকোয়েস্ট যেমন GET, POST, PUT, DELETE ইত্যাদির জন্য রাউট তৈরি করতে ব্যবহার করা হয়। নিচে কিভাবে koa-router ইনস্টল এবং কনফিগার করা যায়, তা বিস্তারিতভাবে আলোচনা করা হল।


koa-router ইনস্টলেশন

১. koa-router ইনস্টল করুন

প্রথমে koa-router কে আপনার প্রোজেক্টে ইনস্টল করতে হবে। টার্মিনাল খুলুন এবং নিচের কমান্ডটি রান করুন:

npm install koa-router

এটি koa-router প্যাকেজটি আপনার প্রোজেক্টে ইনস্টল করবে।


koa-router কনফিগারেশন

১. koa-router মডিউল ইনপোর্ট করুন

আপনার KoaJS অ্যাপ্লিকেশনে koa-router ব্যবহার করতে হলে প্রথমে এটি ইনপোর্ট করতে হবে। আপনার অ্যাপ্লিকেশন কোডে koa-router যোগ করুন:

const Koa = require('koa');
const Router = require('koa-router');  // koa-router ইনপোর্ট
const app = new Koa();
const router = new Router();  // রাউটার ইনস্ট্যান্স তৈরি

২. রাউট তৈরি করুন

এখন আপনি বিভিন্ন রাউট তৈরি করতে পারেন। উদাহরণস্বরূপ, একটি GET রাউট তৈরি করা হচ্ছে:

router.get('/', (ctx) => {
  ctx.body = 'Hello, this is the Home page!';
});

router.get('/about', (ctx) => {
  ctx.body = 'This is the About page!';
});

এখানে / এবং /about দুটি রাউট তৈরি করা হয়েছে, যেখানে প্রথম রাউটে "Hello, this is the Home page!" এবং দ্বিতীয় রাউটে "This is the About page!" মেসেজটি রেসপন্স হিসেবে পাঠানো হবে।

৩. রাউটারের ব্যবহার এবং মাউন্ট করা

এখন রাউটগুলো আপনার Koa অ্যাপ্লিকেশনে যুক্ত করতে হবে। app.use() মেথড ব্যবহার করে রাউট মাউন্ট করতে হবে:

app
  .use(router.routes())        // রাউটগুলি ব্যবহার করুন
  .use(router.allowedMethods());  // অনুমোদিত HTTP মেথডগুলির জন্য রাউট চালু করুন

router.routes() মেথডটি রাউটগুলির কাজ শুরু করে এবং router.allowedMethods() মেথডটি সেই রাউটগুলির জন্য অনুমোদিত HTTP মেথড (যেমন GET, POST, ইত্যাদি) নিয়ন্ত্রণ করে।

৪. অ্যাপ্লিকেশন চালু করুন

এখন আপনি আপনার অ্যাপ্লিকেশনটি চালু করতে পারেন:

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

এটি অ্যাপ্লিকেশনটি http://localhost:3000 এ চালু করবে।


পূর্ণ কোড উদাহরণ

নিচে পুরো কোড উদাহরণ দেওয়া হল যা koa-router ব্যবহার করে একটি KoaJS অ্যাপ্লিকেশন তৈরি করে:

const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();

// রাউট তৈরি করা
router.get('/', (ctx) => {
  ctx.body = 'Hello, this is the Home page!';
});

router.get('/about', (ctx) => {
  ctx.body = 'This is the About page!';
});

// রাউট মাউন্ট করা
app
  .use(router.routes())
  .use(router.allowedMethods());

// অ্যাপ্লিকেশন চালু করা
app.listen(3000, () => {
  console.log('Koa app is running on http://localhost:3000');
});

এটি একটি সহজ KoaJS অ্যাপ্লিকেশন যা দুটি রাউট / এবং /about তৈরি করে।


সারাংশ

koa-router KoaJS অ্যাপ্লিকেশনে রাউটিং পরিচালনার জন্য একটি শক্তিশালী এবং সহজ ব্যবস্থাপনা সরঞ্জাম। এটি আপনাকে বিভিন্ন HTTP রিকোয়েস্ট যেমন GET, POST, PUT, DELETE ইত্যাদি রিকোয়েস্টের জন্য রাউট তৈরি করতে সাহায্য করে। koa-router ইনস্টল করার পরে, আপনাকে শুধুমাত্র রাউটগুলি তৈরি করতে হবে এবং সেগুলোকে Koa অ্যাপ্লিকেশনে মাউন্ট করতে হবে।

Content added By

KoaJS-এ রাউটিং হল HTTP রিকোয়েস্ট (যেমন GET, POST, PUT, DELETE) হ্যান্ডল করার একটি গুরুত্বপূর্ণ অংশ। এখানে আমরা KoaJS ব্যবহার করে বেসিক HTTP রাউটগুলি তৈরি করব যা GET, POST, PUT এবং DELETE রিকোয়েস্ট হ্যান্ডল করবে।


KoaJS-এ Routes তৈরি করার জন্য প্রয়োজনীয় স্টেপ

১. KoaJS ইনস্টল করা

যদি KoaJS ইতিমধ্যে ইনস্টল না করে থাকেন, তবে প্রথমে KoaJS ইনস্টল করুন:

npm install koa
npm install koa-router

koa-router হল একটি জনপ্রিয় রাউটিং লাইব্রেরি যা KoaJS অ্যাপে রাউটিং সহজ করে তোলে।

২. Basic Routes তৈরি করুন

এখন আমরা একটি সিম্পল KoaJS অ্যাপ তৈরি করব যা GET, POST, PUT, এবং DELETE রিকোয়েস্ট হ্যান্ডল করবে। এটি করার জন্য koa-router লাইব্রেরি ব্যবহার করব, যেটি KoaJS এর জন্য একটি পাওয়ারফুল রাউটিং সিস্টেম প্রদান করে।

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

// KoaJS এবং koa-router ইনপোর্ট
const Koa = require('koa');
const Router = require('koa-router');

// নতুন Koa অ্যাপ এবং রাউটার তৈরি
const app = new Koa();
const router = new Router();

// GET রাউট
router.get('/', async (ctx) => {
  ctx.body = 'Hello, KoaJS! This is a GET request.';
});

// POST রাউট
router.post('/post', async (ctx) => {
  ctx.body = 'This is a POST request.';
});

// PUT রাউট
router.put('/put', async (ctx) => {
  ctx.body = 'This is a PUT request.';
});

// DELETE রাউট
router.delete('/delete', async (ctx) => {
  ctx.body = 'This is a DELETE request.';
});

// রাউটারের ব্যবহার
app.use(router.routes()).use(router.allowedMethods());

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

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

  1. KoaJS এবং koa-router ইনপোর্ট: প্রথমে KoaJS এবং koa-router ইনপোর্ট করা হয়, যাতে আমরা রাউটিং ব্যবস্থা তৈরি করতে পারি।
  2. Router তৈরি করা: const router = new Router(); এই লাইনটি একটি নতুন রাউটার ইনস্ট্যান্স তৈরি করে, যা রিকোয়েস্ট হ্যান্ডলিংয়ের জন্য ব্যবহৃত হবে।
  3. GET, POST, PUT, DELETE রাউট:
    • router.get('/', async (ctx) => {...}): এই রাউটটি GET রিকোয়েস্ট হ্যান্ডল করবে এবং একটি সিম্পল মেসেজ রিটার্ন করবে।
    • router.post('/post', async (ctx) => {...}): এই রাউটটি POST রিকোয়েস্ট হ্যান্ডল করবে।
    • router.put('/put', async (ctx) => {...}): PUT রিকোয়েস্ট হ্যান্ডল করবে।
    • router.delete('/delete', async (ctx) => {...}): DELETE রিকোয়েস্ট হ্যান্ডল করবে।
  4. router.routes() এবং router.allowedMethods() ব্যবহার: এই দুটি মেথড রাউটের কার্যকারিতা সক্রিয় করবে এবং অনুমোদিত HTTP মেথডগুলোর জন্য উপযুক্ত রেসপন্স প্রদান করবে।
  5. সার্ভার চালু: app.listen(3000, ...) দিয়ে সার্ভার চালু করা হয় এবং এটি http://localhost:3000-এ অ্যাপটি অ্যাক্সেসযোগ্য করে তোলে।

৩. অ্যাপ চালানো

এই অ্যাপটি চালানোর জন্য, টার্মিনালে নিচের কমান্ডটি ব্যবহার করুন:

node app.js

এটি সার্ভার চালু করবে এবং আপনি নিম্নলিখিত URL-এ বিভিন্ন HTTP রিকোয়েস্টগুলি পরীক্ষা করতে পারবেন:

  • GET রিকোয়েস্ট: http://localhost:3000 (GET রিকোয়েস্ট হ্যান্ডল করবে)
  • POST রিকোয়েস্ট: http://localhost:3000/post (POST রিকোয়েস্ট হ্যান্ডল করবে)
  • PUT রিকোয়েস্ট: http://localhost:3000/put (PUT রিকোয়েস্ট হ্যান্ডল করবে)
  • DELETE রিকোয়েস্ট: http://localhost:3000/delete (DELETE রিকোয়েস্ট হ্যান্ডল করবে)

৪. HTTP রিকোয়েস্ট পরীক্ষা করা

আপনি যে কোনও HTTP ক্লায়েন্ট ব্যবহার করে (যেমন Postman, cURL, বা ব্রাউজার) GET, POST, PUT, DELETE রিকোয়েস্ট পরীক্ষা করতে পারেন। উদাহরণস্বরূপ, POST রিকোয়েস্টের জন্য Postman ব্যবহার করে URL এবং ডেটা পাঠানো যেতে পারে।


সারাংশ

এই টিউটোরিয়ালে আপনি শিখলেন কিভাবে KoaJS-এ GET, POST, PUT, DELETE রাউট তৈরি করতে হয়। KoaJS একটি সহজ এবং শক্তিশালী ফ্রেমওয়ার্ক যা Node.js অ্যাপ্লিকেশন ডেভেলপমেন্টে দ্রুত এবং কাস্টমাইজযোগ্য রাউটিং প্রদান করে। koa-router লাইব্রেরি ব্যবহার করে আপনি খুব সহজেই HTTP রিকোয়েস্ট হ্যান্ডলিং করতে পারেন।

Content added By

KoaJS একটি শক্তিশালী এবং কাস্টমাইজযোগ্য ওয়েব ফ্রেমওয়ার্ক, যা Node.js পরিবেশে ব্যবহৃত হয়। KoaJS-এ রাউট প্যারামিটার (Route Parameters) এবং কুয়েরি প্যারামিটার (Query Parameters) হ্যান্ডল করা সহজ। KoaJS-এ koa-router প্যাকেজ ব্যবহার করে আপনি খুব সহজে রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার হ্যান্ডল করতে পারবেন।


১. Route Parameters হ্যান্ডল করা

রাউট প্যারামিটার হলো URL এর অংশ যা রিকোয়েস্টের মাধ্যমে পাস করা হয়। রাউট প্যারামিটার সাধারণত পাথের মধ্যে অবস্থিত এবং : সিম্বলের মাধ্যমে সেগুলি চিহ্নিত করা হয়। যেমন /user/:id, এখানে id একটি প্যারামিটার, যা URL থেকে ভ্যালু নেয়।

উদাহরণ:

const Koa = require('koa');
const Router = require('koa-router');

const app = new Koa();
const router = new Router();

// রাউট প্যারামিটার ব্যবহার
router.get('/user/:id', (ctx) => {
  const userId = ctx.params.id;  // রাউট প্যারামিটার থেকে ID নেয়া হচ্ছে
  ctx.body = `User ID: ${userId}`;
});

// রাউট চালু করা
app.use(router.routes()).use(router.allowedMethods());

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

এখানে, /user/:id রাউটটি :id প্যারামিটার নেবে এবং ctx.params.id এর মাধ্যমে তা অ্যাক্সেস করা যাবে। এই উদাহরণে, আপনি যদি http://localhost:3000/user/123 এ রিকোয়েস্ট করেন, তাহলে আউটপুট হবে:

User ID: 123

আরও উদাহরণ:

আপনি একাধিক রাউট প্যারামিটারও ব্যবহার করতে পারেন। যেমন:

router.get('/user/:id/posts/:postId', (ctx) => {
  const { id, postId } = ctx.params;
  ctx.body = `User ID: ${id}, Post ID: ${postId}`;
});

এখন, http://localhost:3000/user/1/posts/99 এ রিকোয়েস্ট করলে আউটপুট হবে:

User ID: 1, Post ID: 99

২. Query Parameters হ্যান্ডল করা

কুয়েরি প্যারামিটার হলো URL এর শেষে ? দিয়ে শুরু হয়ে & দ্বারা আলাদা করা মান। যেমন, http://localhost:3000/search?q=koa&limit=10, এখানে q এবং limit হল কুয়েরি প্যারামিটার।

KoaJS-এ কুয়েরি প্যারামিটার হ্যান্ডল করতে ctx.query ব্যবহার করা হয়, যা একটি অবজেক্ট হিসেবে কুয়েরি প্যারামিটারগুলো ধারণ করে।

উদাহরণ:

router.get('/search', (ctx) => {
  const query = ctx.query.q;  // কুয়েরি প্যারামিটার থেকে 'q' নেয়া হচ্ছে
  const limit = ctx.query.limit;  // কুয়েরি প্যারামিটার থেকে 'limit' নেয়া হচ্ছে
  ctx.body = `Search query: ${query}, Limit: ${limit}`;
});

এখন, আপনি যদি http://localhost:3000/search?q=koa&limit=10 এই URL-এ রিকোয়েস্ট করেন, আউটপুট হবে:

Search query: koa, Limit: 10

আরও উদাহরণ:

আপনি যদি কুয়েরি প্যারামিটারগুলো একাধিকভাবে ব্যবহার করতে চান, তাহলে এমনভাবে কোড করতে পারেন:

router.get('/user', (ctx) => {
  const { name, age } = ctx.query;  // কুয়েরি প্যারামিটার থেকে 'name' এবং 'age' নেয়া হচ্ছে
  ctx.body = `Name: ${name}, Age: ${age}`;
});

এখন, http://localhost:3000/user?name=John&age=30 রিকোয়েস্ট করলে আউটপুট হবে:

Name: John, Age: 30

৩. Route Parameters এবং Query Parameters একসাথে ব্যবহার

একই রাউট-এ আপনি রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার একসাথে ব্যবহার করতে পারেন। নিচের উদাহরণে দুটি ধরনের প্যারামিটার একত্রে ব্যবহৃত হচ্ছে:

router.get('/user/:id', (ctx) => {
  const userId = ctx.params.id;  // রাউট প্যারামিটার
  const { sort, limit } = ctx.query;  // কুয়েরি প্যারামিটার
  ctx.body = `User ID: ${userId}, Sort: ${sort}, Limit: ${limit}`;
});

এখন, http://localhost:3000/user/123?sort=desc&limit=5 রিকোয়েস্ট করলে আউটপুট হবে:

User ID: 123, Sort: desc, Limit: 5

সারাংশ

KoaJS-এ রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার হ্যান্ডল করা অত্যন্ত সহজ। koa-router প্যাকেজের মাধ্যমে আপনি রাউট পাথের মধ্যে প্যারামিটারগুলো অ্যাক্সেস করতে পারেন ctx.params এর মাধ্যমে, এবং কুয়েরি প্যারামিটারগুলো ctx.query দিয়ে অ্যাক্সেস করা যায়। আপনি একসাথে রাউট প্যারামিটার এবং কুয়েরি প্যারামিটার ব্যবহার করে আরও উন্নত ও শক্তিশালী API তৈরি করতে পারেন। KoaJS এর এই সুবিধাগুলি আপনাকে দ্রুত ও কার্যকরী ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...