如何在Strapi中间件中达到请求主体?

奥古兹K

我设法使中间件在Strapi中工作。但是,我在请求中看不到正文。

在/middlewares/getEmail/index.js里面,我有

module.exports = (strapi) => {
  return {
    initialize: function (cb) {
      strapi.app.use(async (ctx, next) => {
        if (ctx.method === "POST" && ctx.url === "/email-leads") {
          console.log(ctx);
        }
        await next();
      });
    },
  };
};

和ctx请求日志:

  request: {
    method: 'POST',
    url: '/email-leads',
    header: {
      'content-type': 'application/json',
      accept: 'application/json',
      'user-agent': 'PostmanRuntime/7.26.8',
      'postman-token': 'xxx',
      host: 'localhost:1337',
      'accept-encoding': 'gzip, deflate, br',
      connection: 'keep-alive',
      'content-length': '33'
    }
  },

这是我在此应用程序上编写的唯一中间件。在/config/middleware.js中,我有

module.exports = {
  load: {
    before: ["getEmail", "responseTime", "logger", "cors", "responses", "gzip"],
    order: ["parser"],
    after: ["router"],
  },
  settings: {
    getEmail: {
      enabled: true,
    },
  },
};

我阅读了有关该koa-body / unparsed.js的内容,以阅读正文,但ctx.request中实际上没有正文。感谢帮助。

奥古兹K

因此,我已经找到了解决方案。如果有人需要,请在此处发布。

在中config/middleware.js,我更改了负载,将自定义中间件转换为after数组。

  load: {
    before: ["responseTime", "logger", "cors", "responses", "gzip"],
    after: ["parser", "router", "getEmail"],
  },

ctx.request.body如果我登录ctx或,我仍然看不到ctx.request但是,如果ctx.request.body直接使用,则可以达到上述目的(如果负载如上所述)(或之后的自定义中间件parser)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Express中制作中间件,如果请求太大,该中间件将返回413?

来自分类Dev

如何在Yesod中间件中存储本地请求信息并从Handler中检索它?

来自分类Dev

如何在中间件Laravel中获取请求的控制器和动作的名称

来自分类Dev

如何在中间件和处理程序中读取Iron请求?

来自分类Dev

Python,Django-如何在中间件中存储HTTP请求?

来自分类Dev

如何让中间件响应每个请求

来自分类Dev

如何在Laravel的中间件中获取Route

来自分类Dev

如何在Laravel测试中禁用选定的中间件

来自分类Dev

cookie会话中间件如何在expressjs中工作?

来自分类Dev

如何在scrapy(Python)中间件中实现并发

来自分类Dev

如何在Express中间件中接收ZMQ消息?

来自分类Dev

如何在中间件Slim PHP框架中响应

来自分类Dev

如何在中间件中传递多个门?(Laravel)

来自分类Dev

如何在OWIN中删除中间件?

来自分类Dev

如何在连接中向中间件添加模式?

来自分类Dev

如何在 Laravel 中对中间件进行 OR 操作

来自分类Dev

如何在ASP.NET Core中间件中直接将响应主体设置为文件流?

来自分类Dev

如何从多部分表单数据中获取Node JS中间件中的请求正文?

来自分类Dev

在Laravel中,ajax请求中是否忽略了中间件?

来自分类Dev

如何针对特定/不同的请求方法在NEST JS中处理多个中间件?

来自分类Dev

如何使用express-validator中的checkSchema中间件验证嵌套的POST主体有效负载?

来自分类Dev

如何在Laravel中使用auth:api护照中间件添加CORS中间件?

来自分类Dev

如何使中间件响应所有ajax请求

来自分类Dev

如何使中间件响应所有ajax请求

来自分类Dev

对Express中的中间件测试进行存根请求\响应

来自分类Dev

无法在快速中间件中获取请求参数

来自分类Dev

在下载器中间件中创建新请求

来自分类Dev

在ExpressJS中设置请求清除中间件

来自分类Dev

Laravel 中间件中的显示请求方法 (GET,POST, ..)

Related 相关文章

  1. 1

    如何在Express中制作中间件,如果请求太大,该中间件将返回413?

  2. 2

    如何在Yesod中间件中存储本地请求信息并从Handler中检索它?

  3. 3

    如何在中间件Laravel中获取请求的控制器和动作的名称

  4. 4

    如何在中间件和处理程序中读取Iron请求?

  5. 5

    Python,Django-如何在中间件中存储HTTP请求?

  6. 6

    如何让中间件响应每个请求

  7. 7

    如何在Laravel的中间件中获取Route

  8. 8

    如何在Laravel测试中禁用选定的中间件

  9. 9

    cookie会话中间件如何在expressjs中工作?

  10. 10

    如何在scrapy(Python)中间件中实现并发

  11. 11

    如何在Express中间件中接收ZMQ消息?

  12. 12

    如何在中间件Slim PHP框架中响应

  13. 13

    如何在中间件中传递多个门?(Laravel)

  14. 14

    如何在OWIN中删除中间件?

  15. 15

    如何在连接中向中间件添加模式?

  16. 16

    如何在 Laravel 中对中间件进行 OR 操作

  17. 17

    如何在ASP.NET Core中间件中直接将响应主体设置为文件流?

  18. 18

    如何从多部分表单数据中获取Node JS中间件中的请求正文?

  19. 19

    在Laravel中,ajax请求中是否忽略了中间件?

  20. 20

    如何针对特定/不同的请求方法在NEST JS中处理多个中间件?

  21. 21

    如何使用express-validator中的checkSchema中间件验证嵌套的POST主体有效负载?

  22. 22

    如何在Laravel中使用auth:api护照中间件添加CORS中间件?

  23. 23

    如何使中间件响应所有ajax请求

  24. 24

    如何使中间件响应所有ajax请求

  25. 25

    对Express中的中间件测试进行存根请求\响应

  26. 26

    无法在快速中间件中获取请求参数

  27. 27

    在下载器中间件中创建新请求

  28. 28

    在ExpressJS中设置请求清除中间件

  29. 29

    Laravel 中间件中的显示请求方法 (GET,POST, ..)

热门标签

归档