'Using module.exports on arrow functions with (req,res) as parameters

I am currently working on a project with node where I need to use module.exports for my functions exports. I export the showMessage function like this:

   const  showMessage = (req, res) => {
        res.status(200).send(`Message: ${req.param.message}`);
    }

module.exports = {
    showMessage
}

And import it here:

const express = require('express');
const router = express.Router();
const  { showMessage } =  require('../controllers/auth');

router.get("/:message", showMessage);

module.exports = router;

And further here:

fs.readdirSync("./routes").map((r) => app.use("/api", require(`./routes/${r}`)));

My project is supposed to take message from the api and show it on the webpage. E.g.: If I go to http://localhost:8000/api/good-morning, I should get on my webpage: Message: good-morning Instead I get Message: undefined. This makes me think that there is a problem with the scope of (req,res) parameteres passed in the showMessage function.

I tried using import <> from <> syntax, but didn't work



Solution 1:[1]

It should be req.params instead of req.param. Here are the API docs: https://expressjs.com/en/4x/api.html#req.params

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Andrei