আগের পর্বে আমরা শিখেছি কীভাবে POST API দিয়ে নতুন প্রোডাক্ট যোগ করতে হয়। আজ আমরা শিখবো কীভাবে কোনো প্রোডাক্ট ডিলিট করতে হয়—যখন কোনো প্রোডাক্ট বন্ধ হয়ে যায় বা ভুল করে যোগ করা হয়।

DELETE API কী?

ওয়েব অ্যাপ্লিকেশনে চারটি প্রধান HTTP মেথড আছে। আজ পর্যন্ত আমরা GET ও POST শিখেছি। আজ শিখব DELETE — যার কাজ কোনো ডেটা মুছে ফেলা।

HTTP Methodকাজসহজ বাংলায়
GETডেটা পড়া"আমাকে তালিকা দাও"
POSTনতুন ডেটা যোগ"এই জিনিসটা যোগ করো"
DELETEডেটা মুছে ফেলা"এই জিনিসটা সরিয়ে দাও"

DELETE API কীভাবে কাজ করে?

আমরা URL-এই একটি id পাঠাবো। যেমন /products/2—এর মানে হলো id 2-এর প্রোডাক্টটা ডিলিট করতে চাই। সার্ভার সেই id-র প্রোডাক্ট খুঁজে বের করবে এবং মুছে ফেলবে। এটাকে বলে URL প্যারামিটার

URLমানে
DELETE /products/1id 1-এর প্রোডাক্ট ডিলিট করো
DELETE /products/5id 5-এর প্রোডাক্ট ডিলিট করো
DELETE /products/999id 999 নেই → এরর দেবে

ধাপ ১: server.js ওপেন করো

cd ~/shop-api
micro server.js

ধাপ ২: DELETE রাউট যোগ করো

app.post('/products', ...) রাউটের নিচে এই নতুন কোডটি যোগ করো:

app.delete('/products/:id', (req, res) => {
  let products = readProducts();
  const id = parseInt(req.params.id);

  const filteredProducts = products.filter(p => p.id !== id);

  if (filteredProducts.length === products.length) {
    return res.status(404).json({ message: 'এই id-র কোনো প্রোডাক্ট পাওয়া যায়নি' });
  }

  writeProducts(filteredProducts);
  res.json({ message: `প্রোডাক্ট id ${id} ডিলিট হয়েছে` });
});

লাইন-বাই-লাইন ব্যাখ্যা

লাইনকী করছে?সহজ ভাষায়
req.params.idURL থেকে id পড়ছে"তুমি কোন প্রোডাক্ট চাও?"
parseInt()স্ট্রিং → সংখ্যা"নম্বরটা ঠিক করো"
filter()যাদের id মিলবে না, তাদের রাখছে"যেটা চেয়েছো সেটা বাদ দাও"
length === products.lengthচেক করছে কিছু বদলেছে কিনা"তোমারটা পেলাম না"
res.status(404)না পেলে 404 পাঠাচ্ছে"এই জিনিস দোকানে নেই"

ধাপ ৩: সার্ভার রিস্টার্ট করো

# Ctrl+C দিয়ে বন্ধ করো, তারপর:
node server.js

ধাপ ৪: curl দিয়ে টেস্ট করো

# id 2 ডিলিট করো
curl -X DELETE http://localhost:3000/products/2

# চেক করো
curl http://localhost:3000/products

ভুল টেস্ট করো

এমন একটা id দিই যা নেই:

curl -X DELETE http://localhost:3000/products/999

উত্তর: {"message":"এই id-র কোনো প্রোডাক্ট পাওয়া যায়নি"} — এটাই 404 Not Found! তোমার API এখন যথেষ্ট বুদ্ধিমান।

আজ তুমি কী শিখলে

  • DELETE — ডেটা মুছে ফেলা
  • req.params.id — URL থেকে প্যারামিটার পড়া
  • parseInt() — স্ট্রিং → সংখ্যা
  • filter() — নির্দিষ্ট শর্তে অ্যারে ফিল্টার
  • 404 Not Found — রিসোর্স না পাওয়ার স্ট্যাটাস
  • curl -X DELETE — টার্মিনাল দিয়ে DELETE টেস্ট

পরবর্তী পর্বে আমরা শিখবো PUT API — কীভাবে প্রোডাক্ট আপডেট করতে হয়।

In the previous episode, we learned how to add new products using POST API. Today we'll learn how to delete a product—when a product is discontinued or added by mistake.

What is DELETE API?

HTTP MethodActionSimple Meaning
GETRead data"Give me the list"
POSTCreate new data"Add this new item"
DELETERemove data"Remove this item"

How DELETE API works

We send an id in the URL. For example, /products/2 means we want to delete the product with id 2. The server finds that product and removes it.

Step 1: Open server.js

cd ~/shop-api
micro server.js

Step 2: Add DELETE route

app.delete('/products/:id', (req, res) => {
  let products = readProducts();
  const id = parseInt(req.params.id);

  const filteredProducts = products.filter(p => p.id !== id);

  if (filteredProducts.length === products.length) {
    return res.status(404).json({ message: 'Product not found' });
  }

  writeProducts(filteredProducts);
  res.json({ message: `Product id ${id} deleted` });
});

Step 3: Restart server

# Ctrl+C to stop, then:
node server.js

Step 4: Test with curl

# Delete id 2
curl -X DELETE http://localhost:3000/products/2

# Verify
curl http://localhost:3000/products

Test error case

curl -X DELETE http://localhost:3000/products/999

In the next episode, we'll learn PUT API — how to update products.