Routing
Trie-based router with static, dynamic, and wildcard routes.
1 min readEdit this page
Route registration
app.get('/users', handler)
app.post('/users', handler)
app.put('/users/:id', handler)
app.delete('/users/:id', handler)Dynamic parameters
app.get('/users/:id', (req, res) => {
res.json({ userId: req.params.id })
})
app.get('/users/:userId/posts/:postId', (req, res) => {
res.json({ userId: req.params.userId, postId: req.params.postId })
})Wildcard routes
app.get('/files/*', (req, res) => {
res.json({ path: req.params['*'] })
})Router modules
import { Router } from '@restjs/core'
const users = new Router('/users')
users.get('/', listUsers)
users.get('/:id', getUser)
users.post('/', createUser)
app.mount('/api', users)Tip
The trie-based router achieves O(log n) lookup even with thousands of routes.