gpt4 book ai didi

grails 和调试 UrlMappings

转载 作者:行者123 更新时间:2023-12-04 02:08:34 26 4
gpt4 key购买 nike

在 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(表单提交)之间的行为不同。

感谢您对跟踪此问题的见解和想法!

最佳答案

在您的 Config.groovy 中,您可以通过添加修改 url 映射事件的 log4j 设置

all 'org.codehaus.groovy.grails.web.mapping'

到您现有的 log4j 设置。 all 是最详细的设置,所以如果它开始给你太多,它可以调整回来。您可以在此处的官方 grails 文档中找到更多信息: http://grails.org/doc/latest/guide/3.%20Configuration.html

关于grails 和调试 UrlMappings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com