spring - 如何使用Grails知道响应拦截器中有效载荷的大小

标签 spring grails interceptor

我正在为我的项目使用grails spring boot。而且我也在使用拦截器和过滤器。目前,我有一个测试用例,其中包含响应数据的大小。为此,在拦截器中,我集成了grails拦截器的after方法。在调试时,我没有找到任何方法可以知道我从 Controller 发送的数据大小。例如

    class RestController {
         def show  {
            def data = [:]
            data.put("object", "some data objects " );

            withFormat {
                json {
                    render wrapper as JSON
                }
            }

        }
    }

//拦截器。
    class RestInterceptor {

        RestInterceptor(){
            match(controller:"rest", action:"*")
        }

        boolean before() {
            println( request)
            true }

        boolean after() {
            println response
            true
        }

        void afterView() {
            // no-op
        }
    }

对于响应对象,他们不是知道内容长度的任何方法。但是,我可以在请求对象中看到相同的内容。请提出建议。

最佳答案

after方法在调用 Controller 操作之后且呈现 View 之前执行。如果要检查model中的某些内容,可以使用after方法来执行此操作,但这并不能真正告诉您响应内容的大小。如果需要后者,则可能要使用afterView而不是after

关于spring - 如何使用Grails知道响应拦截器中有效载荷的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322801/

相关文章:

spring - 使用 Postgresql 使用 Spring Data R2DBC 保存对象时如何检索生成的 ID

grails - Grails和Accumulo,在Accumulo的 jar 里弄了个 bug

grails - 搜索域类的每个属性

java - 当 ServerCall 在第一个 ServerInterceptro 中关闭时如何忽略 gRPC(java) ServerInterceptor 的其余部分?

java - 当基类中存在 someObject 时,使用 PMD 检查 someObject.methodCall

java - Spring 和 thymeleaf 布局方言不起作用

javascript - 将变量从 thymeleaf 传递给 javascript 函数?

grails - 增加Xmx和Xms以使grails运行应用

ioc-container - Ninject:每个被拦截的类实例有一个拦截器实例?

javascript - axios删除方法给出403