gpt4 book ai didi

grails - 如何使用Grails 3记录请求和响应( header +正文)?

转载 作者:行者123 更新时间:2023-12-02 15:21:18 25 4
gpt4 key购买 nike

我正在寻找在Grails 3应用程序中记录传入请求和返回响应( header +正文)的方法。 Grails具有拦截器的概念,但是在这些拦截器中,我无法读取该主体,因为该主体只能读取一次。因此,如果我在拦截器中执行此操作,则正常的 Controller 逻辑将失败,并显示一条错误,指示流已关闭。

我还试图找到使用SpringBoot可以完成此操作的方法,因为Grails实际上是基于SpringBoot的。

关于如何在Grails 3应用程序中完成此操作的任何提示?

最佳答案

我建议采用以下方法(当我需要类似的功能时,找不到任何可用于spring-boot的东西,因此我决定自己动手做):

  • 实现一个HttpServletRequestWrapper,它将在消耗InputStream时复制字节,因此您可以多次重新读取请求正文
  • 实现并注册一个Filter,它将在途中包装http请求,并在使用完请求并由端点
  • 生成响应后记录完整的请求/响应

    不错的好处是,您可以在一个日志记录语句中记录请求和响应,并将它们保存在日志文件中。

    关于grails - 如何使用Grails 3记录请求和响应( header +正文)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560117/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com