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 এর এই সুবিধাগুলি আপনাকে দ্রুত ও কার্যকরী ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সাহায্য করবে।
Read more