【发布时间】:2015-10-01 18:32:40
【问题描述】:
我正在尝试将 Grails 2 控制器过滤器转换为 Grails 3 拦截器。拦截器位于 Grails 插件中。 Grails 3 升级完成,当我将代码复制并粘贴到应用程序中(只是为了验证它是否有效)时,我会看到拦截器的输出。
但是,如果我尝试通过插件将该代码拉入应用程序,则拦截器不会运行。我可以验证插件是否被拉取;当我点击一个动作时,它的拦截器没有被调用。
例如,如果插件是:
// If added to app directly, works fine. As plugin, not invoked.
class SimpleInterceptor {
SimpleInterceptor() {
matchAll()
}
boolean before() {
println 'test' // Does not print if using plugin
}
}
而控制器是一个简单的动作:
def index() {
render 'success'
}
我是否需要以某种方式注册它才能让拦截器在应用程序上工作?我错过了一步吗?
【问题讨论】:
-
我没有搞砸,但注意到有这个插件似乎可以正常工作github.com/appcela/grails3-cors-interceptor。希望对你有帮助
-
哦,有趣,谢谢@vahid,我会去看看。我也见过github.com/agorapulse/grails-newrelic,但我一生都无法弄清楚他在做什么而我没有,以及为什么它不起作用(不幸的是,由于它需要,因此无法对照我的测试项目检查它新遗物)。
标签: grails grails-plugin interceptor grails-controller grails-3.0