【发布时间】:2014-11-26 20:35:41
【问题描述】:
根据文件上的命令对象和数据绑定。一旦你读取了 params 对象,这个对象就不能再被重用了。
来自文档:
将请求正文绑定到命令对象 http://grails.org/doc/2.3.x/guide/theWebLayer.html#commandObjects
请注意,正在解析请求的主体以使其正常工作。此后任何读取请求正文的尝试都将失败,因为相应的输入流将为空。控制器操作可以使用命令对象,也可以自己解析请求的主体(直接解析,或者通过引用 request.JSON 之类的内容),但不能同时使用两者。
我正在尝试查看过滤器中的参数(在请求控制器之前命中)。将参数记录到日志会导致控制器获取空参数对象吗?从看起来是这种情况的文档中。但是,我怎样才能访问这些参数而不在过滤器中清除它们?
【问题讨论】:
-
您可能会将请求正文与请求参数混淆。正文是
InputStream,因此一旦读取,您就位于流的末尾,因此无法再次读取。请求参数可以重复访问,只要有意义就可以。