我正在为我的项目使用grails spring boot。而且我也在使用拦截器和过滤器。目前,我有一个测试用例,其中包含响应数据的大小。为此,在拦截器中,我集成了grails拦截器的after方法。在调试时,我没有找到任何方法来知道我从控制器发送的数据大小。例如
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
}
}
在响应对象中,他们不是知道内容长度的任何方法。但是,我可以在请求对象中看到相同的内容。请提出建议。
答案 0 :(得分:1)
after
方法在调用控制器动作之后且呈现视图之前执行。如果您想检查model
中的内容,可以使用after
方法来执行,但这并不能真正告诉您响应内容的大小。如果需要后者,则可能要使用afterView
而不是after
。