对结果应用过滤器

Applying Filters on Result

我正在使用 Ninja Framework (http://www.ninjaframework.org) 开发应用程序,我有一个用例,我想将 CORS headers 添加到 all 给定路径上的响应。过滤器听起来很适合这个,因为它们是自动应用的,所以我不必担心不小心忘记添加这些 headers.

但是,根据我的阅读,过滤器是在控制传递给控制器​​方法之前应用的,并且一旦返回就无法更改 Result

有没有一种方法可以修改从我的应用程序发出的所有 Result,而不必在我的所有控制器中继续编写样板文件?

显然我误解了 documentation/guide。

filterChain.next(context) return a Result,然后可以进一步修改,returned Result 将有效写入线.

给其他读者的注意事项:当使用多个过滤器来注释控制器方法时,正如请求在注释中从左到右下降这些过滤器一样,响应从右到左上升,这意味着第一个生效的过滤器将是最后一个生效的过滤器。