如何从 Play 中的每个请求记录正文?

TWd*_*ado 3 scala playframework

有没有办法在播放框架(2.3.x)中记录请求的正文?我认为我使用Filters 的方式是正确的,但我不知道如何访问正文。

小智 5

过滤器只能访问 RequestHeader。此时,请求的正文尚未处理。因为 Play Framework 是响应式的,过滤器可以在收到请求头后立即行动,并且不需要等待整个 body 被消耗完(如果 body 很大,可能需要大量的时间,和/或者浏览器发送速度很慢)

如果您想记录请求正文,您应该查看ActionBuilder。ActionBuilder 接收一个请求,即请求头和请求体。

在那个地方,你可以记录身体。