【发布时间】:2013-05-31 00:36:40
【问题描述】:
我正在尝试使用 Grails 过滤器将自定义 HTTP 标头添加到一组控制器的响应中:
class ApiFilters {
def filters = {
xwingFilter(uri:'/api/**') {
after = {
response.setHeader('X-Wing', 'foo')
}
}
}
}
如果控制器呈现视图或文本,则标头会添加到响应中。 如果控制器使用“呈现为 JSON”,则不添加标头。看起来 JSON 转换器正在关闭输出流并立即发送。对吗?
我可以使用 Grails 拦截器,但我必须在多个控制器中复制它。 关于如何实现这一目标的任何想法?
【问题讨论】:
-
您可以在启动时将 afterInterceptor 动态添加到所有控制器 (Bootstrap.groovy)。
-
这可行。我认为还有一个带有拦截器的基本控制器并从中扩展。谢谢。
标签: grails grails-2.0 grails-controller