Javascript 节点JS REST Api-模型之间的关系

Javascript 节点JS REST Api-模型之间的关系,javascript,node.js,rest,Javascript,Node.js,Rest,假设我的服务器上有两条路线:“车”和“人” app.get('/cars', getAll) app.get('/cars/:id', get) app.get('/people', getAll) 一切都很好。现在,我必须修改“人”模型中的方法“getAll”。在这个方法中,我需要通过ID获取某人拥有的汽车。我不能使用方法“get”,因为在这个方法中,我有 res.status(200).send(car) 我需要归还汽车,而不是http响应。现在,我返回承诺,因此我的路线如下所示: ap

假设我的服务器上有两条路线:“车”和“人”

app.get('/cars', getAll)
app.get('/cars/:id', get)
app.get('/people', getAll)
一切都很好。现在,我必须修改“人”模型中的方法“getAll”。在这个方法中,我需要通过ID获取某人拥有的汽车。我不能使用方法“get”,因为在这个方法中,我有

res.status(200).send(car)
我需要归还汽车,而不是http响应。现在,我返回承诺,因此我的路线如下所示:

app.get('/cars/:id, (req, res) => {
   //...
   model.get(id).then(car => {
       res.status(200).send(car)
   })
})
但我不确定这是否是一个好的解决办法。另一种方法是从“people”模型中的方法“getAll”调用API,但情况更糟。从其他模型调用方法的最佳方式是什么


关于

如果我正确理解你的问题,你可以这样做嵌套路由:

app.get('/people/:id/cars', getPeoplesCars);
由此产生的汽车列表将取决于人

function getPeoplesCars(req, res, next) {

     // e.g. in mongoose if there is such a relation

     Cars.find({peopleId: req.params.id}, function (err, cars) {
         // etc. you take it from here
     });

}
我不确定这个答案是否解决了你的问题