node.js - Chained Routing in ExpressJS with path variables -


i trying develop system of chaining express routes in node.js. idea have url like:

api.foo/<somefooid>/bar/<somebarid> 

the root js file have

var express = require('express'); var app = express(); var foo = require('./routes/foo'); app.use('/foo', foo); 

then routes/foo.js be:

var express = require('express'); var router = express.router(); var bar = require('./bar'); app.use('/:fooid/bar', bar); 

then url pattern shown above handled routes/bar.js:

var express = require('express'); var router = express.router(); router.get('/:barid', function(req, res) {     ... } 

this system correctly routes requests above url pattern route bar, however, req object not contain fooid. wondering if knows way bar route have access fooid

i datsik said, router.get('api/foo/:fooid/bar/:barid')

if absolutely need keep 2 seperate, can attach value :fooid req , attach bar route.

something like, in foo.js

router.get('/api/foo/:fooid', function (req, res, next) {     // build data on request.     req.fooid = req.params.fooid;     req.test = 'this how add data req';        next(); });  // attach bar router.get('/api/foo/:fooid', require('./bar')); 

in bar.js

router.get('/bar/:barid', function (req, res, next) {     var fooid = req.fooid; // getting value `req` }) 

Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -