Express.js router.param() function – GeeksforGeeks

The parameters of router.param() are a name and function. Where the name is the actual name of the parameter and the function is the callback function. Basically, the router.param() function triggers the callback function whenever the user routes to the parameter. This callback function will be called only a single time in the request-response cycle, even if the user routes to the parameter multiple times.

Syntax:

router.param(name, function)

Parameters of the callback function are: 

  • req: the request object
  • res: the response object
  • next: the next middleware function
  • id: the value of the name parameter

First, you need to install the express node module into your node js application.

Installations of express js are as follows:

npm init 
npm install express 

Example: Create a file names app.js and paste the following code into the file.

javascript




const express = require("express");

const app = express();

 

const userRoutes = require("./route");

 

app.use("/", userRoutes);

 

const port = process.env.PORT || 8000;

 

app.listen(port, () => {

  console.log(`app is running at ${port}`);

});



We have to create another file named route.js in the same directory

Code for route.js file

javascript




const express = require("express");

const router = express.Router();

 

router.param("userId", (req, res, next, id) => {

    console.log("This function will be called first");

    next();

});

 

router.get("/user/:userId", (req, res) => {

    console.log("Then this function will be called");

    res.end();

});

module.exports = router;



Steps to run the program:

Start the server by entering the following command

node app.js

Output:

Enter the following address into the browser

You will see the following output in your terminal

My Personal Notes

arrow_drop_up