我正在为我的项目使用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/