我正在尝试在 Grails 6 应用程序中构建一个过滤器,该应用程序需要访问完全初始化的
GrailsWebRequest
,其中包括当前请求的控制器名称和操作。我预计,如果我将过滤器放在 GrailsWebRequestFilter
之后,在过滤器中调用 WebUtils.retrieveGrailsWebRequest()
将为我提供一个 GrailsWebRequest
实例,其中包括 controllerName
和 actionName
。
但是,我遇到实例可用,但不包括
controllerName
和 actionName
,两个字段均为空。它们可以在我的控制器操作中使用。是否有另一个过滤器负责将这些值注入到我缺少的链中的请求实例中?
Grails 有一个拦截器的概念(https://docs.grails.org/6.2.0/guide/single.html#interceptors),它允许您在任何控制器调用之前/之后拥有代码。 您是否需要使用内置机制来过滤?