Introduction to Adhoc Router
Adhoc Router is a highly flexible and efficient utility to manage your web application’s routing. It provides dozens of useful APIs to streamline the routing process, enhancing the performance and scalability of your app. This guide delves into the various APIs and showcases code snippets to help you get the most out of Adhoc Router.
Installing Adhoc Router
npm install adhoc-router
1. Basic Routing
Create simple routes using Adhoc Router’s straightforward API. Here’s an example:
const { createRouter } = require('adhoc-router'); const router = createRouter(); router.get('/home', (req, res) => { res.send('Welcome to Home!'); }); router.listen(3000, () => console.log('Server is up on port 3000'));
2. Route Parameters
Handle dynamic route parameters:
router.get('/user/:id', (req, res) => { const userId = req.params.id; res.send(`User ID: ${userId}`); });
3. Query Parameters
Access query parameters easily:
router.get('/search', (req, res) => { const query = req.query.q; res.send(`Search results for: ${query}`); });
4. Middleware Support
Implement middleware to handle requests:
router.use((req, res, next) => { console.log('Request received'); next(); });
5. Error Handling
Seamlessly manage errors in your app:
router.use((err, req, res, next) => { res.status(500).send('Something went wrong!'); });
6. Group Routes
Group related routes efficiently:
const apiRouter = createRouter(); apiRouter.get('/v1/resource', (req, res) => { res.send('Resource v1'); }); router.use('/api', apiRouter);
7. Configurable Routes
Customize your routes easily:
router.config({ caseSensitive: true, strict: true, });
Build an App Example
Here’s a full example implementing everything shown above:
const { createRouter } = require('adhoc-router'); const express = require('express'); const app = express(); const port = 3000; const router = createRouter(); router.get('/home', (req, res) => { res.send('Welcome to Home!'); }); router.get('/user/:id', (req, res) => { const userId = req.params.id; res.send(`User ID: ${userId}`); }); router.get('/search', (req, res) => { const query = req.query.q; res.send(`Search results for: ${query}`); }); router.use((req, res, next) => { console.log('Request received'); next(); }); router.use((err, req, res, next) => { res.status(500).send('Something went wrong!'); }); const apiRouter = createRouter(); apiRouter.get('/v1/resource', (req, res) => { res.send('Resource v1'); }); router.use('/api', apiRouter); router.config({ caseSensitive: true, strict: true, }); app.use(router); app.listen(port, () => { console.log(`Server running at http://localhost:${port}/`); });
By utilizing Adhoc Router, you can significantly enhance the routing capabilities of your web application, making it more robust and efficient.
Hash: 22bcbf2bfa88985828e6f7652ea5a36932a22638fdac2cce1a64b9cc73580f7a