如何全局处理Grails中的HTTP错误(状态代码4xx / 5xx)?

时间:2010-12-06 14:50:52

标签: grails error-handling http-status-codes

Grails是否有办法在将所有可能的HTTP错误发送到客户端浏览器之前捕获它们,以便能够处理发送给客户端的内容?我的意思是所有4xx和5xx HTTP状态代码,不仅像其他人建议的403,404和500。

我想要做的是首先捕获所有HTTP错误,而不必一个一个地指定它们,然后在第二步中我将过滤(例如在错误控制器中)特定的错误代码我想处理(例如400),但至少我没有指定的那些将呈现给我定义的通用错误模板。

如果无法完成(或不应该这样做),应该检查和处理哪些HTTP错误代码?我至少可以看到那些代码在某些时候发生:400,401,403,404,405,500,501,503.而且,它们应该如何处理,使用HTTP响应代码映射?

谢谢!

1 个答案:

答案 0 :(得分:2)

实际上没有尝试过,但是数字约束可能有用吗?

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