spring - 如何使用 grails 知道响应拦截器中有效负载的大小
问题描述
我正在为我的项目使用 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
}
}
在响应对象中,它们不是任何知道内容长度的方法。但是,我可以在请求对象中看到相同的内容。请给建议。
解决方案
该after
方法在调用控制器操作之后和呈现视图之前执行。如果您想检查 中的某些model
内容,您可以在after
方法中执行此操作,但这并不能真正告诉您写入响应的大小。如果你想要后者,你可能想要使用afterView
而不是after
.
推荐阅读
- javascript - innerText 在创建元素后直接设置后不显示
- javascript - 用承诺的数据更新 React 中的动态 TD 单元
- java - 任何人都知道为什么 setCount() 在 twitter4j 中不起作用?
- javascript - Ajax 调用未通过 Url.Content 将“&”从视图传递给控制器
- amazon-web-services - AWS:使用 VPC 管理环境的局限性?
- arrays - VBA 是否能够单独存储每个数组并等待将它们打印到模板?
- c# - DateTimePickers 不显示数据
- mysql - 内连接2表多个结果
- ios - iOS 应用内购买收据重复管理
- swagger-ui - 构建一个 OpenAPI 响应,包括 oneOf,也许还有 allOf