在我的Grails应用中,我想创建一个自定义请求过滤器,查找现有的“位置”重定向标头,并在尚未提交响应的情况下对其进行修改。
我没有在响应对象上看到甚至读取现有标头的方法,更不用说覆盖它们了。
有办法做到这一点吗?
谢谢!
答案 0 :(得分:2)
这是通过创建包装器(扩展HttpServletResponseWrapper
)并覆盖setHeader(..)
方法来完成的。在那里,您可以在将标题添加到响应之前将其替换。
通过在过滤器中创建包装器来使用包装器:
chain.doFilter(request, new ResponseWrapper(response))