How to declare a mandatory parameter in node.js/express router -


i got series of routes :

var router = express().router; router.get('/',middleware1,middleware2); router.get('/courses',middleware1,middleware2,..) router.post('/dates',middleware1,middleware2,..)  app.use('/u',router); 

now, when declare root of route in

app.use('/u',router); 

i put mandatory parameter has present in every route of micro-app like

app.use('/u/:user_name/',router); 

so can check every route router.param existence of param in db.

is possible defining param in root of micro app , not in every single route like

router.get('/:user_name/',middleware1,middleware2); router.get('/:user_name/courses',middleware1,middleware2,..) router.post('/:user_name/dates',middleware1,middleware2,..) 

as lot in real application , pain change them all?

really !

you should able using mergeparams long you're using recent enough version of express.

var router = express.router({mergeparams: true}); 

then work:

app.use('/u/:user_name/', router); 

mergeparams documented here:

https://expressjs.com/en/4x/api.html#express.router


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -