Basic Routing
EK route DO cheezon se define hota hai: HTTP METHOD (GET, POST, PUT, PATCH, DELETE) aur PATH ("/users"). Express dono ko match karta hai — same path par alag method ka alag handler ho sakta hai.
app.all() har method ko match karta hai aur app.route("/path") EK hi path par multiple methods chain karne deta hai, jisse repetition kam hoti hai.
app.get("/users", listUsers);
app.post("/users", createUser);
app.route("/users/:id")
.get(getUser)
.put(updateUser)
.delete(deleteUser);- Route = HTTP method + path ka combination
- Same path par alag methods ke alag handlers ho sakte hain
- app.route() se ek path par multiple methods chain karke duplication hatao
Express har incoming request ke METHOD aur PATH ko registered routes se match karta hai. Same path par alag method ke alag handler ho sakte hain — "GET /users" list deta hai aur "POST /users" naya user banata hai. Agar path match ho lekin method na ho, to Express 404 deta hai (405 nahi).
app.get("/users", list);
app.post("/users", create);
app.all("/users", (req, res) => res.sendStatus(405)); // baaki methodsEk route par kai handlers array ya arguments ki tarah diye ja sakte hain — wo middleware ki tarah order mein chalte hain. app.route() same path par methods chain karke duplication hataata hai, jo CRUD resources ke liye bahut saaf dikhta hai.
app.route("/books/:id")
.all(loadBook) // teenon ke liye common
.get((req, res) => res.json(req.book))
.put(updateBook)
.delete(deleteBook);