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

2024-04-06

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

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

如果这不能完成(或不应该完成),那么真正应该检查和处理哪些 HTTP 错误代码?我至少可以看到这些代码在某个时刻发生:400、401、403、404、405、500、501、503。而且,应该如何使用 HTTP 响应代码映射来处理它们?

Thanks!


还没有真正尝试过,但也许数量限制可能有效?

"$errorCode" {
     controller = "errors"
     action = "displayError"
     constraints {
          errorCode(matches:/\d{3}/)
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Grails Log4J 未登录生产环境

    我有一个 Grails 1 3 7 应用程序 并尝试在配置中设置 log4j 以用于生产 log4j 设置在开发中很好 但我无法在生产中显示任何内容 我正在尝试制作一个滚动文件等 但我无法显示任何内容 我什至在 信息 级别进行了配置 这样我
  • 带有 Grails 的 AOP

    我想在我的 Grails 项目中创建自定义日志记录注释 My code class MyService AuditLog def method1 println method1 called method2 AuditLog def met
  • 如何在 netsuite 中使用 suitescript 2.0 显示自定义错误消息而不使用堆栈跟踪

    我想使用 suitescript 2 0 版本向用户显示没有堆栈跟踪的自定义错误消息 在工作流程中 自定义错误消息在没有堆栈跟踪的情况下显示 但在套件脚本中 错误消息 与堆栈跟踪一起显示 堆栈跟踪错误 type error SuiteScr
  • 如果 POST 成功但没有创建任何新内容,我们应该返回什么状态代码?

    我们有一个端点 当您发布创建新版本的资源时 它会返回 201 和新创建的资源的位置 它根据当前版本和发布的版本 使用类似 semver 的规则集 的比较来确定新版本号 如果您发布的版本与现有版本相同 则不会更新版本号 在这种情况下我们应该返
  • PHP 警告:模块“imagick”已在第 0 行未知加载

    我有一个简单的测试文件 其中唯一的 php 代码是 if isset REQUEST back back back REQUEST back filename images back jpg file file exists filenam
  • 是否存在应明确跟踪或忽略的事件?

    在做研究解决问题的同时如何在处理程序之后自动重新引发异常 https stackoverflow com q 56084252 216356 开发了一个异常类 具有在处理后自动再次抛出自身的能力 受到ThreadAbortException
  • web请求超时处理?

    HttpWebRequest request HttpWebRequest WebRequest Create url request Timeout 20000 using WebResponse response request Get
  • DISM.exe 返回代码?

    我有一个程序调用 dism exe 程序 它在后台运行一些命令 现在 我只检查返回代码 0 或其他任何内容 以显示进程失败或成功 我可以用什么来交叉检查返回代码以获得准确的返回错误 DISM 参考了哪些回报 评论中提供的链接DISMAPI
  • 在 Grails 下如何防止异常导致事务回滚?

    我的 Grails 服务遇到一个问题 即与事务无关的吞没异常会导致事务回滚 即使它与域对象的持久性无关 在我的服务中 我有一些类似的东西 updateSomething domainObj def oldFilename domainObj
  • 如何重写 GORM/Grails 的 addTo* 和 RemoveFrom* 方法?

    我尝试重写 Grails GORM 提供的动态方法 addTo 但它似乎不起作用 这是代码 class Match static hasMany players Player matchPlayers MatchPlayer void ad
  • 将 PHP 错误处理程序限制为特定命名空间

    PHP 有没有办法只为特定的命名空间设置错误处理程序 我正在构建一个小型框架 我希望能够通过设置自定义错误处理程序并抛出异常来尝试捕获其名称空间内的所有错误 警告 通知消息 在此特定名称空间之外触发的错误应该以常规方式表现 用PHP可以完成
  • R:使用 RGDAL 和 RASTER 包时抛出错误

    给所有可能相关的人 这是源代码 GRA D1 lt raster files 1 Sets up an empty output raster GRA D1 lt writeStart GRA D1 filename GRA D1 tif
  • Grails 操作被调用两次。帮助!

    我正在编写一个 grails 应用程序并遇到一个奇怪的问题 单击页面上的提交按钮时 关联的操作会快速连续调用两次 这会导致一切都严重破坏 以前有其他人见过这个问题吗 下面是我的代码 从普惠制页面
  • 空白约束和空约束之间的区别

    空白约束和空约束有什么区别 我有以下课程 class Task String title String notes TekUser assignedTo Date dueDate TekEvent event static constrai
  • Grails:如何查询多对多映射中的对象?

    您好 我有以下域类 class Student int age static hasMany courses Course class Course String name static hasMany students Student 我
  • 2015 年重新审视 Ember Handling 401

    我可以在 Ember Ember Data 中找到大量询问 回答如何从 Rails 后端处理 401 的老问题 许多 如果不是全部的话 在这一点上似乎已经过时了 我已经尝试了我能找到的一切 Ember 数据处理 401 https stac
  • 部署 Grails 应用程序时出错 - 初学者

    我在部署 Grails 应用程序时遇到问题 一切都在本地测试环境中运行 ERROR localhost startStop 1 错误 context GrailsContextLoader 错误 初始化应用程序 使用名称创建 bean 时出
  • grails/mysql 时区更改

    完成更改应用程序时区的最佳方法是什么 在我看来 必须发生以下情况 服务器 TZ 已被系统管理员更改 mysql必须重新启动 数据库中每个基于时间的列都必须使用convert tz 或等效方法更新所有值 因此 要么必须编写一个 mysql 脚
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 在另一个插件中覆盖插件 GSP 和控制器

    我的项目中有一个相当复杂的 grails 插件依赖结构 并且在覆盖安全插件中的类时遇到问题 我的结构有点像这样 Web App Audit Plugin Spring Security Core Plugin Security Wrappe

随机推荐