ExpressJS একটি ওয়েব ফ্রেমওয়ার্ক যা HTTP মেথডগুলোকে সহজে হ্যান্ডল করতে সহায়তা করে। HTTP মেথডগুলো ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের জন্য ব্যবহার করা হয়। বিভিন্ন মেথডের মাধ্যমে সার্ভারকে নির্দেশ দেওয়া হয় যে কী ধরনের অ্যাকশন বা অপারেশন করতে হবে। ExpressJS-এ এই HTTP মেথডগুলোকে রাউটের মাধ্যমে ব্যবহৃত করা হয়।
১. GET Method
GET মেথড ব্যবহার করা হয় সার্ভার থেকে ডেটা বা তথ্য অনুসন্ধান করার জন্য। এটি সাধারণত তথ্য বা রিসোর্স রিকোয়েস্ট করতে ব্যবহৃত হয়।
উদাহরণ:
app.get('/user', (req, res) => {
res.send('GET request to the /user route');
});
এই রাউটটি /user এ ক্লায়েন্টের GET রিকোয়েস্ট গ্রহণ করবে এবং "GET request to the /user route" মেসেজটি ফিরিয়ে দিবে।
GET মেথড সাধারণত ব্রাউজারে ইউআরএল টাইপ করার মাধ্যমে ট্রিগার হয় এবং কোনো ডেটা পরিবর্তন করে না।
২. POST Method
POST মেথড ব্যবহার করা হয় সার্ভারে নতুন ডেটা পাঠানোর জন্য। এটি সাধারণত ডেটা ক্রিয়েশন, ফর্ম সাবমিশন বা ডেটাবেজে নতুন রেকর্ড ইনসার্ট করার জন্য ব্যবহৃত হয়।
উদাহরণ:
app.post('/user', (req, res) => {
res.send('POST request to the /user route');
});
এখানে /user এ ক্লায়েন্টের POST রিকোয়েস্ট আসলে সার্ভার "POST request to the /user route" মেসেজটি রেসপন্স করবে। POST রিকোয়েস্টে সাধারণত ডেটা শরীরের (body) মধ্যে পাঠানো হয়।
POST মেথড ব্যবহার করে ডেটা সার্ভারে পাঠানোর উদাহরণ:
app.post('/user', (req, res) => {
const user = req.body; // এখানে ফর্ম বা JSON ডেটা পাঠানো হবে
res.send(`User ${user.name} added successfully`);
});
৩. PUT Method
PUT মেথড ব্যবহৃত হয় কোনো রিসোর্স বা ডেটাকে সম্পূর্ণভাবে আপডেট করার জন্য। সাধারণত PUT রিকোয়েস্টে পাঠানো ডেটা পুরনো রেকর্ডকে সম্পূর্ণরূপে প্রতিস্থাপন করে।
উদাহরণ:
app.put('/user/:id', (req, res) => {
const userId = req.params.id;
const updatedUser = req.body;
res.send(`User with ID ${userId} updated successfully`);
});
এখানে /user/:id রাউটের মাধ্যমে কোনো নির্দিষ্ট ইউজারের তথ্য আপডেট করার জন্য PUT রিকোয়েস্ট পাঠানো হবে। req.params.id এর মাধ্যমে URL থেকে ID পাওয়া যাবে এবং req.body দিয়ে নতুন ডেটা।
৪. DELETE Method
DELETE মেথড ব্যবহার করা হয় কোনো রিসোর্স বা ডেটা মুছে ফেলার জন্য। এটি সাধারণত রেকর্ড ডিলিট করতে ব্যবহৃত হয়।
উদাহরণ:
app.delete('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`User with ID ${userId} deleted successfully`);
});
এখানে /user/:id রাউটে DELETE রিকোয়েস্টে একটি নির্দিষ্ট ইউজারের ডেটা মুছে ফেলা হবে।
৫. PATCH Method
PATCH মেথড ব্যবহার করা হয় কোনো রিসোর্সের একটি অংশ আপডেট করার জন্য। এটি PUT মেথডের মতো হলেও, PUT সম্পূর্ণ রিসোর্স রিপ্লেস করে, whereas PATCH শুধুমাত্র কিছু অংশ বা নির্দিষ্ট ফিল্ড আপডেট করে।
উদাহরণ:
app.patch('/user/:id', (req, res) => {
const userId = req.params.id;
const updatedFields = req.body;
res.send(`User with ID ${userId} updated with the following fields: ${JSON.stringify(updatedFields)}`);
});
এখানে /user/:id রাউটে PATCH রিকোয়েস্টে ইউজারের কিছু নির্দিষ্ট ফিল্ড আপডেট করা হবে।
৬. OPTIONS Method
OPTIONS মেথড ব্যবহার করা হয় কোন রিসোর্সের জন্য সমর্থিত HTTP মেথডগুলো জানতে। এটি সাধারণত CORS (Cross-Origin Resource Sharing) পলিসি চেক করার জন্য ব্যবহৃত হয়।
উদাহরণ:
app.options('/user', (req, res) => {
res.set('Allow', 'GET, POST, PUT, DELETE');
res.send();
});
এখানে OPTIONS রিকোয়েস্টে /user রিসোর্সের জন্য যেসব HTTP মেথড সমর্থিত, তা রেসপন্স হিসেবে ফিরিয়ে দেয়া হবে।
৭. HEAD Method
HEAD মেথড GET মেথডের মতো, তবে এটি শুধুমাত্র রিসোর্সের হেডার পাঠায়, রিসোর্সের কনটেন্ট নয়। সাধারণত এটি রিসোর্সের মেটা তথ্য বা হেডার চেক করার জন্য ব্যবহৃত হয়।
উদাহরণ:
app.head('/user', (req, res) => {
res.send();
});
এটি /user রাউটে HEAD রিকোয়েস্টকে গ্রহণ করবে, কিন্তু কোন কনটেন্ট ফিরিয়ে দিবে না।
সারাংশ
ExpressJS এর মাধ্যমে HTTP মেথডগুলো ব্যবহার করে আপনি ওয়েব অ্যাপ্লিকেশনের বিভিন্ন ক্রিয়াকলাপ যেমন তথ্য অনুসন্ধান (GET), ডেটা প্রেরণ (POST), ডেটা আপডেট (PUT), ডেটা মুছে ফেলা (DELETE), বা আংশিক আপডেট (PATCH) করতে পারেন। এসব HTTP মেথড ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ স্থাপন এবং ডেটার উপর বিভিন্ন অপারেশন সম্পাদন করতে ব্যবহৃত হয়। ExpressJS এই মেথডগুলিকে খুব সহজেই রাউটের মাধ্যমে হ্যান্ডল করতে সহায়তা করে।
Read more