如何在Bookshelf JS中自定义响应对象?

时间:2018-03-04 06:05:40

标签: javascript express bookshelf.js

我想将自定义属性添加到标准的Bookshelf.js响应对象中。在这种情况下,目标是fetchAll()区域,并将属性link附加到每个区域。链接的价值只是/some/api/route/${region.id}

我相信有两种方法可以实现这一点:(1)修改区域模型以包含一些函数getRegionLink()以生成所需的值;或(2)迭代并修改响应对象。我认为(1)是首选,但我可以想象何时(2)可能是必要的。

在这种情况下,我还没有弄清楚如何做(2)。 { - 3}}状态_.each()可用,但Bookshelf.js docs每个都不赞成使用forEach。但是,以下内容没有按预期工作。发生一些错误。在相关的说明中,err对象在Postman上记录为空。

区域服务

Region.forge()
    .fetchAll()
    .then(regions => {
      _.forEach(regions, region => {
        region.link = `${API_BASE}/location/regions/v1/${region.id}`;
      });
      res.json(regions);
    .catch(err => {
      res.status(404).json(err);
    });

0 个答案:

没有答案