处理控制器中的grails异常以捕获和转发

时间:2014-05-28 19:27:37

标签: grails exception-handling code-injection

我正在开发一个grails插件,除其他外,它处理REST API的所有响应的json呈现。我们将一些常见的响应状态作为异常处理,例如不良请求,禁止等。 通过抛出特定的异常,然后在错误控制器中处理它们并设置正确的响应状态。

我们遇到的问题是,由于我们通过NewRelic监控我们的API,所有异常都报告为500错误。

我在grails 2.3中看到你可以在cotrollers上定义异常处理程序,它可以工作,但是逐个定义它是不可能的,并且通过metaClass添加处理程序不起作用。

有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不确定你的意思是“逐个定义它是不可能的”但如果你的意思是你不想在所有控制器中添加异常处理程序方法,那么你至少有一对选项。一个是你可以在基本控制器中定义异常处理程序方法,所有其他控制器都会扩展。另一个选择是编写一个AST转换,它在编译时将方法添加到所有控制器。

我希望有所帮助。

相关问题