Javascript Node Express API路由,父资源Id在req.params中不可用
我的问题是,在子资源的路由中,我没有在req.params中获取父资源的id。跟我来。。。我会给你看 以下是我的代码中的相关部分:Javascript Node Express API路由,父资源Id在req.params中不可用,javascript,node.js,express,routing,routeparams,Javascript,Node.js,Express,Routing,Routeparams,我的问题是,在子资源的路由中,我没有在req.params中获取父资源的id。跟我来。。。我会给你看 以下是我的代码中的相关部分: - routes/ - index.js - countries.js - cities.js - controllers/ - cities.js index.js let router = require('express').Router(); router.use('/countries', require('./co
- routes/
- index.js
- countries.js
- cities.js
- controllers/
- cities.js
index.js
let router = require('express').Router();
router.use('/countries', require('./countries'));
router.use('/countries/:countryId/cities', require('./cities'));
module.exports = router;
routes/countries.js
const router = require('express').Router();
const countries = require('../controllers/countries');
router.post('/', countries.create);
router.get('/', countries.readAll);
router.get('/:_id', countries.readById);
router.patch('/:_id', countries.updateById);
router.delete('/:_id', countries.deleteById);
module.exports = router;
routes/cities.js
const router = require('express').Router();
const cities = require('../controllers/cities');
router.get('/', cities.readAll);
router.get('/:_id', cities.readById);
module.exports = router;
module.exports.readAll = async function (req, res, next)
{
return res.json(req.params);
};
module.exports.readById = async function (req, res, next)
{
return res.json(req.params);
};
controllers/cities.js
const router = require('express').Router();
const cities = require('../controllers/cities');
router.get('/', cities.readAll);
router.get('/:_id', cities.readById);
module.exports = router;
module.exports.readAll = async function (req, res, next)
{
return res.json(req.params);
};
module.exports.readById = async function (req, res, next)
{
return res.json(req.params);
};
现在,问题如下:
如果我调用以下API:
获取国家/地区/城市
结果是{}
当它真的应该把我送回{“countryId”:“1”}
另外,当我调用以下API时:
获取国家/地区/城市/2
结果是{u id:“2”}
当它真的应该把{“countryId”:“1”,“_id”:“2”}
因此,问题是出于某种原因,在子资源的控制器中无法访问父资源的id(countryId)
请告知在这个问题中找到了答案