覆盖API响应

时间:2019-06-27 10:02:07

标签: strapi

有没有一种方法可以覆盖模型的API响应?

我有一条/ products路线,返回了一系列产品:

[{id: 1, name: "product1"}, {id: 2, name: "product2"}]

我想在响应中添加一个属性,例如:

[{id: 1, name: "product1", foo: "foo"}, {id: 2, name: "product2", foo: "foo"}]

该foo属性将是我将在其他模型上获取的值。

备注:该字段是计算字段

我尝试在模型上做类似的事情:

beforeFetchAll: async (model, columns, options) => {

    model.foo = 'foo';
},

但这似乎行不通。

1 个答案:

答案 0 :(得分:0)

beforeFetchAll 在回调中仅具有模型参数 beforeFetchAll: async (model) => {},

我建议您在product.settings.json中定义新属性,并在 afterCreate 生命周期内更新每个实体

afterCreate: async (model, result) => {
    model.set('foo', 'foo');
  },