2010-12-06 11 views
6

¿Hay alguna forma en Grails de detectar todos los posibles errores HTTP antes de que se envíen al navegador del cliente, para poder manejar el contenido que se envía al cliente? Me refiero a todos los códigos de estado HTTP 4xx y 5xx, no solo los 403, 404 y 500 han sugerido otros.¿Cómo manejar globalmente los errores HTTP en Grails (códigos de estado 4xx/5xx)?

Lo que me gustaría hacer es detectar todos los errores HTTP en primer lugar, sin tener que especificarlos uno por uno, luego en un segundo paso filtraría (por ejemplo, en un controlador de errores) códigos de error específicos que me gustaría manejar (por ejemplo, 400), pero al menos los que no especificaría se procesarían en una plantilla genérica de error que definí.

Si esto no se puede hacer (o no se debe hacer), ¿qué códigos de errores HTTP realmente se deben verificar y manejar? Al menos puedo ver esos códigos sucediendo en algún momento: 400, 401, 403, 404, 405, 500, 501, 503. Y también, ¿cómo deberían manejarse, usando las correlaciones de códigos de respuesta HTTP?

Gracias!

Respuesta

2

no lo he probado, pero tal vez una restricción numérica podría funcionar?

"$errorCode" { 
    controller = "errors" 
    action = "displayError" 
    constraints { 
      errorCode(matches:/\d{3}/) 
    } 
} 
+0

Hola Aaron, acabo de probar tu sugerencia, pero resulta que Grails está fallando al intentar ejecutar la aplicación. Se está escribiendo lo siguiente en el registro: 2010-12-06 11: 10: 23,984 [principal] ERROR context.ContextLoader - Inicialización del contexto fallido org.springframework.beans.factory.BeanCreationException: Error al crear bean con el nombre 'org. codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib ': Falló la inicialización del bean – djule5

Cuestiones relacionadas