如何在跟踪参数的同时链接Express路由器?

时间:2018-03-27 01:03:09

标签: node.js express express-router

我使用快递4.16并且我试图保持我的代码整洁,以便我使用路由器功能。我了解到我们可以连接路由器。让我们举个例子:

./ server.js:

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

app.listen(process.env.PORT || 3000);

./路由/ user.js的:

var express = require('express');
var router = express.Router();
var carsRoutes = require('./cars');
router.use('/cars', carsRoutes);
router
  .get('/:id', (req, res) => {
    // send back user info
  });
module.exports = router;

./路由/ cars.js:

var express = require('express');
var router = express.Router();
router
  .get('/:id', (req, res) => {
    // send back car info
  });
module.exports = router;

现在我们可以致电https//server.com/users/42来获取用户信息,https//server.com/users/cars/42来获取有关汽车的信息。但是,在这种情况下,我并不是真正想要的https//server.com/cars/42更合适。如果相反,我们希望实现此网址https//server.com/users/42/cars以获取所有用户42的汽车,或https//server.com/users/42/cars/42获取特定用户的汽车42。您如何告诉Express' s路由器你想要'users/:id'吗?

这是否可行,如果可以,我们该怎么做?或者在这个例子中,我应该只在同一个文件中编写用户和汽车路线,并停止分成几个.js文件。

0 个答案:

没有答案