Routing menentukan bagaimana aplikasi merespons request ke URL tertentu.
Path parameters (:param):
// GET /users/42
app.get("/users/:id", (req, res) => {
const userId = req.params.id; // "42"
res.json({ userId });
});
// GET /posts/5/comments/3
app.get("/posts/:postId/comments/:commentId", (req, res) => {
const { postId, commentId } = req.params;
res.json({ postId, commentId });
});
Query string (?key=value):
// GET /search?q=javascript&page=2
app.get("/search", (req, res) => {
const { q, page } = req.query;
res.json({ query: q, page: parseInt(page) || 1 });
});
Multiple HTTP methods:
// CRUD untuk resource "users"
app.get("/users", ...); // List semua
app.get("/users/:id", ...); // Detail satu
app.post("/users", ...); // Buat baru
app.put("/users/:id", ...); // Update
app.delete("/users/:id", ...); // Hapus
RESTful Convention:
| Method | Path | Aksi |
|---|---|---|
| GET | /users | List semua user |
| GET | /users/:id | Detail user |
| POST | /users | Buat user baru |
| PUT | /users/:id | Update user |
| DELETE | /users/:id | Hapus user |