ExpressBeginner
Express Routing
HTTP methods, route parameters, query strings, route chaining — Express routing বাংলায়।
11টি অংশবাংলা ভাষায়
Routing হলো নির্দিষ্ট URL ও HTTP method-এর জন্য response define করা। Express-এ routing অত্যন্ত সহজ।
HTTP Methods
// GET — ডেটা পড়া
app.get("/users", (req, res) => {
res.send("সব users আনা হয়েছে");
});
// POST — নতুন data তৈরি
app.post("/users", (req, res) => {
res.status(201).send("নতুন user তৈরি হয়েছে");
});
// PUT — সম্পূর্ণ update
app.put("/users/:id", (req, res) => {
res.send("User update: " + req.params.id);
});
// PATCH — partial update
app.patch("/users/:id", (req, res) => {
res.send("User partially update হয়েছে");
});
// DELETE — delete
app.delete("/users/:id", (req, res) => {
res.send("User delete হয়েছে: " + req.params.id);
});Route Parameters (:id)
// URL-এর অংশকে parameter বানানো
app.get("/users/:id", (req, res) => {
res.json({ id: req.params.id });
});
// একাধিক parameter
app.get("/users/:userId/posts/:postId", (req, res) => {
const { userId, postId } = req.params;
res.json({ userId, postId });
});
// 404 handling
app.get("/users/not-exist", (req, res) => {
res.status(404).json({ error: "পাওয়া যায়নি" });
});Query Parameters
req.query দিয়ে URL query string (প্রশ্নবোধক-এর পরে অংশ) পড়া যায়।
// URL: /search?keyword=node&page=2&limit=10
app.get("/search", (req, res) => {
const { keyword, page, limit } = req.query;
res.json({
keyword,
page: page || 1,
limit: limit || 10,
});
});Route Chaining ও All
// একই path-এ একাধিক method
app.route("/events")
.get((req, res) => res.send("List"))
.post((req, res) => res.status(201).send("Create"))
.put((req, res) => res.send("Update"));
// সব method respond
app.all("/api", (req, res) => {
res.send("যেকোনো method এইখানে respond করবে");
});
// Regular expression route
app.get(/^/(user|admin)/profile$/, (req, res) => {
res.send("Profile page");
});Route Order Matters
Express route-গুলো উপরে থেকে নিচে match করে। তাই specific route আগে, generic/404 route পরে রাখুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।