在 grails 中,我如何向 UrlMappings.groovy(例如:println)添加一些代码,以便我可以弄清楚请求 URI 是什么以及哪个映射被命中(如果有的话)?
背景:
在这种情况下,有两台服务器根据文件扩展名提供不同的服务。因此,两台服务器需要始终查看文件扩展名才能继续进行错误处理。否则,服务器会感到困惑,并且 1 提供 404 页面而不是我们的 500 页面。
更大的图景涉及由于 NullPointerException 之类的原因而获得 500 响应,并通过代码跟踪它以查看发生了什么。
我在http://jetlet.blogspot.com/2010/08/grails-exception-handling-with-response.html添加了如下代码:
"500" (controller: "error", action: "internalError")
在对此进行测试时,我故意抛出 NullPointerException (NPE)。当在浏览器的地址栏中输入 URL 时,调用 500 处理并提供 500 页面。但是,当将表单发布到服务器并使用 NPE 故意破坏处理代码时,不会调用“500”处理代码。表单操作中的 URL 似乎以扩展名结尾。因此,不确定为什么 GET(浏览器 URL)和 POST(表单提交)之间的行为差异。
感谢您提供有关跟踪此问题的见解和想法!