1.0.1 • Published 5 months ago
express-groups-router v1.0.1
express groups router
An Express router for creating nested route groups easily.
Installation
npm npm i express-groups-router
Usage
const express = require('express');
const { group, subGroup, group_router } = require('express-groups-router');
const app = express();
// Use the group_router in your main Express app
app.use(group_router);
// Example middleware
function exampleMiddleware(req, res, next) {
console.log('Middleware executed');
next();
}
// Create a group with a base path
group('/blogs', (blogs) => {
// -> /blogs
blogs.get('/', exampleMiddleware, (req, res) => {
res.send('Get all blogs');
});
// Create a subgroup with dynamic path
subGroup(blogs, (blog) => {
// -> /blogs/:blogId
blog.get('/:blogId', exampleMiddleware, (req, res) => {
const blogId = req.params.blogId;
res.send(`Get blog with ID: ${blogId}`);
});
// -> /blogs/:blogId
blog.post('/:blogId', (req, res) => {
const blogId = req.params.blogId;
res.send(`Create new blog with ID: ${blogId}`);
});
// -> /blogs/:blogId/comments
blog.get('/:blogId/comments', (req, res) => {
const blogId = req.params.blogId;
res.send(`Get comments for blog with ID: ${blogId}`);
});
// -> /blogs/:blogId/likes
blog.get('/:blogId/likes', (req, res) => {
const blogId = req.params.blogId;
res.send(`Get likes for blog with ID: ${blogId}`);
});
});
});
// Start the Express app
app.listen(3939, () => {
console.log('Example app listening on port 3939!');
});