Estoy intentando anular el método predeterminado de redirección del controlador y parece que no puede funcionar el siguiente bit de código.grails anula el método del controlador de redireccionamiento
He creado un complemento y estoy tratando de usar el "doWithDynamicMethods" para reemplazar el redireccionamiento.
def doWithDynamicMethods = {ctx ->
application.controllerClasses.each() { controllerClass ->
replaceRedirectMethod(controllerClass)
}
}
void replaceRedirectMethod(controllerClass) {
def oldRedirect = controllerClass.metaClass.pickMethod("redirect", [Map] as Class[])
controllerClass.metaClass.redirect = { Map args, Map params ->
// never seems to get here
}
}
¿Tengo la firma incorrecta o me falta algo? La razón por la que estoy haciendo esto es que me gustaría cambiar el uri de la redirección si se cumple una determinada condición, pero con las sentencias de registro/impresión veo que va en el "replaceRedirectMethod" al inicio/compilación de la aplicación, pero no funciona Entra cuando realizas una redirección a través del controlador una vez que se inicia la aplicación.