我正在尝试使用 Grails 过滤器将自定义 HTTP 标头添加到一组控制器的响应中:
class ApiFilters {
def filters = {
xwingFilter(uri:'/api/**') {
after = {
response.setHeader('X-Wing', 'foo')
}
}
}
}
如果控制器呈现视图或文本,则标头会添加到响应中。如果控制器使用“呈现为 JSON”,则不添加标头。看起来 JSON 转换器正在关闭输出流并立即发送。那正确吗?
我可以使用 Grails 拦截器,但我必须在多个控制器中复制它。关于如何实现这一目标的任何想法?