我有多条路线。如何通过在组路由的 GET 方法中调用用户路由(GET 方法)来获取数据?这样做的最佳方法是什么?
我的 app.js 看起来像这样:
var express = require('express');
var routes = require('./routes/index');
var users = require('./routes/users');
var groups = require('./routes/groups');
var app = express();
app.use('/', routes);
app.use('/users', users);
app.use('/groups', groups);
module.exports = app;
app.listen(3000);
然后我有另一个文件 routes/users.js:
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('GET ON THE users!');
});
module.exports = router;
还有另一条路线routes/groups.js:
var express = require('express');
var router = express.Router();
var otherRouter = require('./users')
/* GET groups listing. */
router.get('/', function(req, res, next) {
// call the get on users and retrieve all data from that request
res.send('GET for the groups');
});
module.exports = router;
原文由 asuciu 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不应该为此使用路由。只需调用负责从 GET 组路由中检索用户的函数并使用该数据执行您需要的操作。您提出的方式要贵得多,因为您必须进行 http 调用。
为简单起见,我假设您的逻辑是同步的,并且数据存储在 data/users.js 中:
在路线/users.js 中:
在路线/groups.js 中: