Core

Routing

Trie-based router with static, dynamic, and wildcard routes.

1 min readDocumentationEdit this page

Route registration

typescript
app.get('/users',      handler)
app.post('/users',     handler)
app.put('/users/:id',  handler)
app.delete('/users/:id', handler)

Dynamic parameters

typescript
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

typescript
app.get('/files/*', (req, res) => {
  res.json({ path: req.params['*'] })
})

Router modules

typescript
import { Router } from '@axiljs/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.

Help improve the documentation

AxilJS is open source and documentation improvements are welcome.

AxilJS DocumentationMIT License ยท Built by SyntaxilitY