[eggjs/egg]在监听request的回调中拿不到ctx.request.body

2025-11-20 94 views
9

在使用

app.on('request', ctx => { //拿不到下面这个的值 ctx.request.body });

相关环境信息
  • 操作系统:windows
  • Node 版本:v8.9.3
  • Egg 版本: 2.11.0

回答

1

是的,这个是请求才进入,还未开始处理,可以自己写个中间件拦截。

8

还是说下你的原始诉求吧

2

@popomore 有没有 request after 可以监听到ctx.request.body 或者ctx.request.rowbody有数据的时候?

0

@atian25 做一个请求日志记录 看到别人是用这样监听的 但是监听的ctx.request.body 是还没被解析出来的

9

你看的是 Express 的吧, Koa 不需要这样,可以了解下洋葱模型。

直接写个 Middleware 分别在 await next() 两端记录即可

9

@atian25 嗯 我后续也改成这样了 如果在这个事件框架还没解析这个那我只能去中间件处理了

2

在 Koa 里面,尽可能少用这些事件。中间件很简单的,几句话搞定。