@rapidcode/route
v0.2.1
Published
Create Routes for express applications
Downloads
3
Readme
@rapidcode/route
wrapper on express.Route() for creating express routes, that can be attached to any express application
Usage
This library, exposes two methods RouteCreator
and RouteBuilder
. Both of them does the same thing, ie, create an express Router, but in a different way.
Creating the Route with RouteCreator
//userRouter.js
const { RouteCreator } = require("@rapidcode/route");
const controller = (req, res, next) => {
res.send({ status: success });
};
const mwOne = (req, res, next) => {
// Your middleware to write the business logic
next();
};
const mwTwo = (req, res, next) => {
// Your middleware to write the business logic
next();
};
const router = RouteCreator({
path: "/",
middlewares: [mwOne, mwTwo],
method: "GET",
controller: controller,
});
module.export = router;
Creating the Route with RouteCreator
//userRouter.js
const { RouteBuilder } = require("@rapidcode/route");
const controller = (req, res, next) => {
res.send({ status: success });
};
const mwOne = (req, res, next) => {
// Your middleware to write the business logic
next();
};
const mwTwo = (req, res, next) => {
// Your middleware to write the business logic
next();
};
const routeBuilder = new RouteBuilder();
let router = routeBuilder
.setPath("/")
.setMethod("GET")
.setMiddlewares([mwOne, mwTwo])
.setController(controller)
.build();
module.export = router;
Using the Routes created with @rapidcode/route
Either of these routers can be attached to any express application.
Use with generic express app
const express = require("express");
const router = require("./userRouter");
const app = express();
app.use("/user", userRouter);
use with @rapidcode/app
const { createApp, registerRoute } = require("@rapidcode/app");
const app = createApp(); // this is the express app object
var usersRouter = require("./userRouter");
registerRoute(app, "/users", usersRouter); //
PS:
You may want to have a look at @rapidcode/app
for creating the express app.
Also, for creating the middleware, do have a look at @rapidcode/middleware