我正在使用 Ninja Framework ( http://www.ninjaframework.org ) 开发一个应用程序,并且我有一个用例,我想将 CORS header 添加到给定路径上的所有响应中。过滤器听起来非常适合此目的,因为它们是自动应用的,因此我不必担心意外忘记添加这些 header 。
但是,根据我所读到的内容,过滤器是在控制传递到 Controller 方法之前应用的,并且一旦返回,就无法更改 Result
。
有没有一种方法可以修改从我的应用程序发出的所有Result
,而不必在我的所有 Controller 中继续编写样板?
最佳答案
显然我误解了文档/指南。
filterChain.next(context)
返回一个 Result
,然后可以进一步修改该 Result
,返回的 Result
将是有效的写入线路。
给其他读者的注意事项:当使用多个过滤器来注释 Controller 方法时,就像请求在注释中从左到右下降这些过滤器一样,响应从右到左上升返回,这意味着第一个过滤器进入时生效将是最后一个出去时生效的过滤器。
关于java - 对结果应用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285750/