我想有一个API,它允许获取一个人的嵌套属性
router.get('/person/:id', fun.. router.get('/person/:id/name, fun... router.get('/person/:id/address, fun...
所有这些都是一个 Mongoose 计划的同一对象。查找人员对象的最佳方法是什么?我觉得我应该使用router.use(/person/:id)看那个人,然后以某种方式传递它。

最佳答案

检查 app.param() ,例如:

router.param('id', function(req, res, next, id) {
  Person.find(id, function(err, person) {
    if (err)next(err);
    else if (person) {
      req.person = person;
      next();
    } else {
      next(new Error('failed to load person'));
    }
  });
});

router.get('/person/:id', function() { /* ... */});
router.get('/person/:id/name', function() { /* ... */});
router.get('/person/:id/address', function() { /* ... */});

然后,您可以从Person访问req.person对象。

关于node.js - 嵌套快速路线的DRY方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29144835/

10-09 17:42
查看更多