Enhance Web Applications with Adhoc Router A Comprehensive Guide with API Examples

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

Leave a Reply

Your email address will not be published. Required fields are marked *