He estado estudiando Grails desde hace bastante tiempo. Y escaneado un poco sobre filtros e interceptores. Ambos tienen casi la misma funcionalidad de rastrear las sesiones o redirigir a usuarios no autorizados en un controlador en particular.Grails Filters vs Interceptor
Pero estoy confundido cuándo y por qué debería usar Filter than Interceptor y viceversa. Dado que los Inceptores tienen dos métodos de control beforeInterceptor
y afterInterceptor
y para los filtros a tres cierres comunes before
, after
y afterView
.
Mis preguntas son cuáles son los pros y los contras del uso del filtro contra el interceptor o viceversa. De esta manera, nosotros, los desarrolladores, podemos decidir cuándo, dónde y por qué deberíamos usar Filtro o Interceptor en un Controlador particular para hacer un seguimiento, redirigir, etc.
Ya veo. ¿Pero no puede crear un controlador abstracto para mantener una lógica de interceptación similar y dejar que este controlador sea el padre de todos los otros controladores? ¿En qué instancia podemos decir que necesitamos tener la lógica de filtrado declarada por 'Filters' en su cierre,' afterView'? –
Y luego necesitarás un poco de lógica diferente, así que necesitas crear otro controlador abstracto. Los filtros pueden ayudarlo a concentrar el código en un lugar y omitir las dependencias que realmente no necesita. –