KoaJS-এ ফর্ম ডেটা হ্যান্ডল করা খুবই সহজ, এবং এটি সাধারণত koa-bodyparser প্যাকেজ ব্যবহার করে করা হয়। koa-bodyparser একটি মিডলওয়্যার যা POST, PUT, এবং PATCH রিকোয়েস্টের বডি থেকে ডেটা প্যার্স করতে সাহায্য করে। এটি JSON, URL-encoded, এবং ফর্ম ডেটা সহ বিভিন্ন ধরনের বডি প্যার্স করতে পারে।
এই টিউটোরিয়ালে আমরা দেখব কিভাবে KoaJS ব্যবহার করে ফর্ম ডেটা হ্যান্ডল করা যায় এবং কিভাবে koa-bodyparser মিডলওয়্যারটি সেটআপ করা যায়।
১. koa-bodyparser ইনস্টলেশন
প্রথমে আপনাকে koa-bodyparser ইনস্টল করতে হবে। নিচে দেওয়া কমান্ডটি ব্যবহার করে এটি ইনস্টল করুন:
npm install koa-bodyparser
২. KoaJS অ্যাপে koa-bodyparser ব্যবহার করা
এখন, আপনি koa-bodyparser ইনস্টল করার পর এটি কিভাবে ব্যবহার করবেন তা দেখব। ফর্ম ডেটা, যেমন application/x-www-form-urlencoded বা multipart/form-data, koa-bodyparser এর মাধ্যমে প্যার্স করা যায়। সাধারণত application/x-www-form-urlencoded ডেটা ফর্ম সাবমিট করার জন্য ব্যবহৃত হয়।
উদাহরণ:
const Koa = require('koa');
const bodyParser = require('koa-bodyparser'); // koa-bodyparser ইমপোর্ট
const app = new Koa();
// koa-bodyparser মিডলওয়্যার যোগ করা
app.use(bodyParser());
app.use(async (ctx) => {
if (ctx.method === 'POST') {
// ফর্ম ডেটা অ্যাক্সেস করা
const { username, email } = ctx.request.body;
ctx.body = `Received username: ${username} and email: ${email}`;
} else {
ctx.body = `
<form method="POST">
<label for="username">Username:</label>
<input type="text" name="username" /><br />
<label for="email">Email:</label>
<input type="text" name="email" /><br />
<input type="submit" value="Submit" />
</form>
`;
}
});
app.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});
এই কোডে, আমরা একটি ফর্ম তৈরি করেছি যা POST রিকোয়েস্ট পাঠায়। ফর্মে দুটি ইনপুট ফিল্ড রয়েছে: username এবং email। যখন ফর্মটি সাবমিট করা হয়, তখন koa-bodyparser সেই ডেটা ctx.request.body এ প্যার্স করে নিয়ে আসে।
কিভাবে কাজ করে:
koa-bodyparser()মিডলওয়্যারটি ডেটা প্যার্স করার কাজ করে। এটি ফর্ম ডেটা, JSON, বা URL-encoded ডেটা প্যার্স করে।- কনটেক্সট অবজেক্টে
ctx.request.bodyঅ্যাক্সেস করার মাধ্যমে আপনি ফর্মের ইনপুট ডেটা ব্যবহার করতে পারবেন। - ফর্ম ডেটা প্যার্স হওয়ার পরে, এটি অ্যাপ্লিকেশনের মধ্যে প্রয়োগ করা হয়।
৩. JSON এবং URL-encoded ডেটা হ্যান্ডলিং
koa-bodyparser JSON এবং URL-encoded উভয় ধরনের ডেটা প্যার্স করতে সহায়তা করে। যখন আপনি JSON বা URL-encoded ডেটা পাঠান, koa-bodyparser সেগুলোকে ctx.request.body এ প্যার্স করে রাখে।
JSON ডেটা:
app.use(async (ctx) => {
if (ctx.method === 'POST') {
const { username, password } = ctx.request.body;
ctx.body = `Received username: ${username} and password: ${password}`;
} else {
ctx.body = `
<form method="POST" action="/login">
<input type="text" name="username" />
<input type="password" name="password" />
<button type="submit">Login</button>
</form>
`;
}
});
URL-encoded ডেটা:
Content-Type: application/x-www-form-urlencoded ফর্মের মাধ্যমে ডেটা পাঠানো হয়, এবং koa-bodyparser এটি প্যার্স করে ctx.request.body এ রাখে।
৪. Multi-part ফর্ম ডেটা
koa-bodyparser multipart/form-data (ফাইল আপলোডের জন্য ব্যবহৃত) প্যার্স করতে সহায়তা করে না। এর জন্য আপনি koa-multipart প্যাকেজ ব্যবহার করতে পারেন। যদি আপনি ফাইল আপলোডের জন্য কাজ করতে চান, তাহলে koa-multipart ইনস্টল এবং কনফিগার করা উচিত।
npm install koa-multipart
তারপর koa-multipart ব্যবহার করে ফাইল আপলোড এবং ফর্ম ডেটা একসাথে হ্যান্ডল করা যায়।
সারাংশ
KoaJS-এ ফর্ম ডেটা হ্যান্ডল করার জন্য koa-bodyparser মিডলওয়্যার ব্যবহার করা সহজ। এটি URL-encoded, JSON, এবং ফর্ম ডেটা প্যার্স করতে সহায়তা করে। ফর্ম ডেটা প্যার্স করার জন্য ctx.request.body ব্যবহার করা হয়, যেখানে আপনি ফর্মের ইনপুট ডেটা অ্যাক্সেস করতে পারবেন। koa-bodyparser কে একটি শক্তিশালী টুল হিসেবে ব্যবহার করে আপনি সহজেই POST বা PUT রিকোয়েস্টের ডেটা হ্যান্ডল করতে পারবেন।
Read more