Spring 中 REST 控制器的异常处理程序

2024-01-05

我想处理异常,以便 URL 信息自动显示给客户端。是否有捷径可寻?

<bean id="outboundExceptionAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">
    <!-- what property to set here? -->
</bean>

你有两个选择:

Spring参考15.9.1 HandlerExceptionResolver http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#d0e29676

Spring HandlerExceptionResolvers 缓解意外的痛苦 控制器处理您的请求时发生的异常 符合要求。 HandlerExceptionResolvers 有点类似于 您可以在 Web 应用程序中定义的异常映射 描述符 web.xml。然而,它们提供了一种更灵活的方式 处理异常。他们提供有关哪个处理程序的信息 抛出异常时执行。此外,一个程序化的 处理异常的方式为您提供了更多的响应选择 在将请求转发到另一个 URL 之前适当地进行操作(相同 最终结果与使用 servlet 特定异常映射时相同)。

The 处理异常解析器 http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/web/servlet/HandlerExceptionResolver.html有一种方法,包含您需要的一切:

HandlerExceptionResolver.resolveException(HttpServletRequest request,
              HttpServletResponse response,
              Object handler, Exception ex) 

或者,如果您需要针对不同控制器的不同处理程序:Spring参考第15.9.2章@ExceptionHandler http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-exceptionhandler

@ExceptionHandler(IOException.class)
public String handleIOException(IOException ex, HttpServletRequest request) {
   return "every thing you asked for: " + request;
}

短问短答

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 中 REST 控制器的异常处理程序 的相关文章

  • Spring @ControllerAdvice 与 ErrorController

    在我的 REST 服务应用程序中 我计划创建一个 ControllerAdvice捕获控制器抛出的异常并返回的类ResponseEntity根据错误类型的对象 但我已经有一个 RestController类实现ErrorController
  • 如何使用 spring data jpa 调用数据库函数?

    我想从 Spring Boot 应用程序调用数据库函数 该函数将返回解密的值 是否可以使用spring data jpa调用数据库函数 如果可以的话怎么办 如果无法使用 spring data jpa 是否有其他方法可以从 Spring B
  • 关于捕获异常的良好实践

    我正在用 C 11 编写一个小程序 并且第一次真正使用异常 我有一个关于如何有效捕获异常的问题 经过一番谷歌搜索后我仍然没有答案 这是问题 通过 const 左值引用捕获异常还是通过 const 右值引用捕获异常 哪个更有效 或推荐 在代码
  • 使用 MinGW gcc 4.4.0 增强 thread_interrupted 异常终止(),使用 3.4.5 则正常

    今天我一直在 玩弄 boost 线程作为学习练习 并且我有一个几个月前构建的工作示例 在我被打断并不得不暂时放弃多线程之前 它显示了不寻常的行为 当我最初编写它时 我使用的是 MingW gcc 3 4 5 并且它有效 现在我正在使用 4
  • Spring MVC VersionResourceResolver / ContentVersionStrategy 在 JSP 中无法正常工作

    我有一个 Spring MVC 4 3 0 应用程序 并已使用 ResourceHandlerRegistry 注册了一个 VersionResourceResolver 并添加了 ContentVersionStrategy 我启用了 R
  • 在thymeleaf中获取spring应用环境

    我的 Spring Boot 应用程序以 3 种配置运行 application properties gt 用于开发环境 application test properties gt 用于测试环境 application developm
  • 如何使用电源模拟对 Spring Boot Rest 控制器和异常处理程序进行单元测试

    我有一个简单的 Spring boot 应用程序 其中包含 Employee 控制器 如果过去的年份大于 2014 年 则返回 Employee 姓名 如果年份不小于 2014 年 则我将抛出一个自定义异常并在异常处理程序中处理它 我想使用
  • Spring 3.1 + Hibernate 4.1 Propagation.Supports 问题

    我正在将我的项目从 Spring 3 0 hibernate 3 6 x 迁移到 S3 1 H4 1 我的新代码如下
  • 获取 java.lang.IllegalStateException:检测到 Logback 配置错误错误

    Logback 在我的 Spring Boot 应用程序中抛出以下错误 java lang IllegalStateException 检测到 Logback 配置错误 ch qos logback core joran spi Inter
  • Spring-MVC 控制器重定向到“上一页”?

    假设我有一个用于编辑 Pony 属性的表单 并且在我的 Web 应用程序中有多个位置可以选择编辑 Pony 例如 在小马列表中 每个小马旁边可能有一个 编辑 链接 并且当用户查看小马时 该视图中也可能有一个 编辑 链接 当用户在编辑小马后单
  • 服务具有零个应用程序(非基础设施)端点

    我最近创建了一个WCF服务 dll 和一个服务主机 exe 我知道我的 WCF 服务工作正常 因为我能够成功地将服务添加到 WcfTestClient 但是 当我从服务主机 exe 使用 WCF 时 我似乎遇到了问题 我可以将对 WCF d
  • 在 Spring MVC 中扩展带注释的控制器

    我正在开发一个小项目 并且有一些现有的代码 我希望这些代码不会受到我的更改的影响 因此我需要扩展一个带注释的控制器 但这不起作用 package a controller public class BaseController Autowi
  • 卡夫卡监听器中的钩子

    kafka 监听消息之前 之后是否有任何类型的钩子可用 使用案例 必须设置MDC关联id才能进行日志溯源 我在寻找什么 之前 之后回调方法 以便可以在进入时设置 MDC 关联 ID 并最终在退出时清除 MDC 编辑后的场景 我将关联 id
  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • java中永远不会出现的异常

    我为点和向量编写一个类 我想用它们来计算向量的点和范数 这些是点类和向量类 public class Point public float x y public class MyVector public Point start end 我
  • Jersey 和 Spring 中的全局异常处理?

    我正在使用 Jersey 和 Spring 3 2 以及 Open CMIS 开发 RESTful Web 服务 我没有使用 Spring 的 MVC 模式 它只是 Spring IOC 和 Jersey SpringServlet 控制器
  • Spring Boot Batch - 不包括 JobLauncherCommandLineRunner

    我在 Spring Boot 中配置了一个简单的 Spring Batch 作业 类似于弹簧导轨 http spring io guides gs batch processing 在启动时 它会自动检测并调用 JobLauncherCom
  • 如何在 Spring 中将多个映射合并为一个

    我的上下文文件中定义了几个地图 有没有一种方法可以将这些映射组合成一个包含其所有条目的映射 而无需编写 Java 代码 并且无需使用嵌套映射 我正在寻找 Map m new HashMap 的等效项m putAll carMap m put
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句
  • spring中如何使用jackson代替JdkSerializationRedisSerializer

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J

随机推荐

  • 英语动词变形

    有人知道我可以在动词词典 现在分词 上使用的英语动词变形器 它可以给我动词的其他变形形式吗 例如 I give it I get run ran running runs sing sang singing sings play playe
  • 通过构建 has_many

    我有两个型号 用户及帐号如下 class Account lt ActiveRecord Base has many manages has many users through gt manages end class User lt A
  • 用整数范围填充选择器视图的最有效方法?

    我在 iOS 应用程序 iPhone 中有一个简单的 UI 选择器视图 我希望在启动时预先填充一系列数字 填充它的最务实 最快 优化的方法是什么 我是 iOS 开发新手 所以我才刚刚开始试水 该文档相当不错 但我想从经验丰富的开发人员那里获
  • 使用 PyDev 在 Eclipse 中进行类型提示

    我正在学习 Python 在有了很多 PHP 经验之后 如果有类型提示在Python中 看起来 Eclipse 和 PyDev 不支持这个 有什么建议么 例如 我想让我的IDE显示功能文档字符串 and types 当我使用它时 例如 de
  • RadioButton 在带有浅色主题的 Android 10/11 上不可见

    我们在 Xamarin Forms 中使用新的实验性单选按钮 https learn microsoft com en us xamarin xamarin forms user interface radiobutton https le
  • Magento 自定义模块:adminhtml 形式的多个图像上传器

    我已经创建了 adminhtml 模块 它工作正常 在创建新项目表单中有 4 个字段名称 图像 网址和电子邮件 ID 我使用文件上传器来上传图像 它工作正常 但我无法上传多个图像 是否可以有多个图像上传器 这是我的简单图像上传器代码 if
  • jQuery 获取

    这对某人来说可能很容易 var x p blah p div a href http bs serving sys com BurstingPipe adServer bs cn brd FlightID 2997227 Page PluI
  • IIS 托管的 wcf 返回空白页

    我有一个 wcf 应用程序 它有 Service1 svc 文件 在我指定的 web config 文件中 http localhost 2005 EmployeeService svc 作为端点 从 Visual Studio 单击 浏览
  • 如何在骡子中手动抛出肥皂故障

    我面临着一种情况 我们无法使用模式来验证传入的请求 基本上模式就在那里 但它接受请求中的任何字符串 wsdl 设计者有自己的理由这样做 以接受来自不同来源和灵活性的请求 但是 当收到请求时 我会验证请求包装器的子元素是否是我们所期望的 为此
  • 使用 ACTION_SEND 通过 Android 应用程序共享图像不起作用

    我一直在关注这个 Android 在 Facebook Twitter 邮件 ecc 上分享 https stackoverflow com questions 6814268 android share on facebook twitt
  • 在c#中创建AD用户

    我正在尝试使用以下代码创建一个新的 AD 用户 PrincipalContext ctx new PrincipalContext ContextType Domain Domain ou some ou dc Mydomain UserP
  • 如何用react-konva制作圆角垂直线?

    我需要用react konva制作圆角垂直线 使用现有的API可以实现吗 如果是 怎么办 我在 Line 类中使用了贝塞尔曲线 API 效果很好 现在我需要以某种方式将贝塞尔曲线修改为圆角垂直线 Sth like this 您可以通过多种方
  • 为什么 pandas 中的 .loc 切片包含 stop,这与典型的 python 切片相反?

    我正在对 pandas 数据框进行切片 并且似乎使用以下方法得到了意外的切片 loc 至少与 numpy 和普通 python 切片相比 请参阅下面的示例 gt gt gt import pandas as pd gt gt gt a pd
  • android OnkeyListener 与过滤器停止 onItemClicklistener 来自 DPAD

    This is my custom dialog layout 我想移动日期选择器并在其下方的网格中加载相应的项目 我可以通过过滤器执行它 如上所述here https stackoverflow com questions 3802887
  • WEB-INF 是否在 CLASSPATH 中?

    Is the WEB INF文件夹中的CLASSPATHJava Web 应用程序 我假设你指的是 WEB INF 目录在 Web 应用程序文件夹结构的根目录中 不 它不在类路径中 WEB INF classes虽然在类路径上 但 JAR
  • 在 UML 中对基于时间的属性和方法进行建模

    我想对一个在指定时间过去时发生的方法和一个随类和序列图消失的属性进行建模 情况是这样的 工人们正在工厂里使用机器工作 每台机器可供0 10名工人使用 每台机器都有一个修理期限 工人必须修理它 它还有一个时间限制 如果工人错过修理 机器就会爆
  • 什么属性控制 Spinner 下拉背景?

    我有一个创建的自定义主题这个发电机 http android holo colors com 它有一个我不喜欢的旋转器自定义样式 我想更改背景可绘制对象 但我似乎无法弄清楚哪个属性控制它 这就是主题版本的样子 这是使用 Holo Light
  • 给定引理和标记,如何逆向词形还原过程?

    一般来说 在自然语言处理中 我们想要得到一个token的引理 例如 我们可以使用 wordnet 词形还原将 eaten 映射到 eat python中有没有可以将引理反演为某种形式的工具 例如 给定目标形式 吃 我们将 去 映射到 消失
  • css:chrome 的 -moz-线性渐变 相当于什么

    我有类似的CSSbackground moz linear gradient center top 59a1d8 27247D repeat scroll 0 0 0f78c7 对于我的按钮来说 这对我来说在 mozilla 中很好 但在c
  • Spring 中 REST 控制器的异常处理程序

    我想处理异常 以便 URL 信息自动显示给客户端 是否有捷径可寻