Route Handling in Node.js

From the Express.js cheat sheet · Routing · verified Jul 2026

Route Handling

Define and organize routes

javascript
// Basic routes
app.get('/', (req, res) => {
  res.send('Hello World')
})

app.post('/users', (req, res) => {
  res.json({ user: req.body })
})

// Route parameters
app.get('/users/:id', (req, res) => {
  res.json({ id: req.params.id })
})

// Query parameters
app.get('/search', (req, res) => {
  res.json({ query: req.query.q })
})

// Router
const router = express.Router()
router.get('/', handler)
router.post('/', handler)
app.use('/api', router)

// Route patterns (Express 5: string char-patterns removed - use arrays or RegExp)
app.get(['/abcd', '/acd'], handler)   // was '/ab?cd'
app.get(/^\/ab+cd$/, handler)         // was '/ab+cd' (abcd, abbcd)
app.get(/^\/ab.*cd$/, handler)        // was '/ab*cd' (abcd, abxcd)
app.get(/.*fly$/, handler)            // butterfly, dragonfly (RegExp still works)
💡 Use routers to organize routes
✅ Order matters - specific routes first
⚡ Use route parameters for dynamic paths
Back to the full Express.js cheat sheet