修改 strapi 中的每个数据响应

Modify every data response in strapi

我想知道在从 api 返回任何数据之前执行函数的最佳方式是什么,以便我可以修改数据响应。

我知道我可以将功能添加到每个控制器,但这意味着我要重复很多次。政策似乎是正确的做法,但这些政策将在控制器被击中之前执行。

有人知道怎么做吗?

module.exports = {
  async find(ctx) {
    let entities;
    ctx.resp... // altering the data this way at the moment

可以在执行控制器功能后执行策略,代码必须在 await next() 之后出现,如下所示。

module.exports = async (ctx, next) => {
  // Indicate to the server to go to
  // the next policy or to the controller's action.
  await next();

  // The code below will be executed after the controller's action.
  if (ctx.status === 404) {
    ctx.body = 'We cannot find the resource.';
  }
};

请参考:Advanced usage