Spring 4 MVC应用程序-应用程序级异常处理程序

阿拉汉特

我正在将Spring Web应用程序从Spring 3.2迁移到4.1。

在3.2中,以下异常处理程序非常适合从整个应用程序中捕获异常。

@ControllerAdvice
public class RestExceptionProcessor {
    @org.springframework.web.bind.annotation.ExceptionHandler(AppException.class)
    @ResponseBody
    public ErrorInfo handleAppException(AppException ex, HttpServletResponse response) {
        ErrorInfo ret = new ErrorInfo(ex.getMessage(), new Date(), ex.getExtras());
        logger.error(ex.getMessage());
        response.setStatus(ex.getCode().getStatusCode());

        return ret;
    }
}

但是,当我移至4.1时,会得到以下异常堆栈跟踪:

ERROR Failed to invoke @ExceptionHandler method: public com.momoe.handler.RestExceptionProcessor$ErrorInfo com.momoe.handler.RestExceptionProcessor.handleAppException(com.momoe.commons.AppException,javax.servlet.http.HttpServletResponse)
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
    at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:134) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:167) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:126) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:362) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE].....

我怎样才能解决这个问题?

主从

从spring 3.x升级到4.1时,您需要从jackson 1.9.x更改为jackson2.x。在jackson 2.x中,程序包结构从org.codehaus迁移到com.fasterxml

如果您的类路径中没有com.fasterxml jackson,则结果将与您完全缺少jackson时的结果相同,并在日志中输出“找不到可接受的表示形式”消息。如果您使用的是maven,则足以包含jackson-databind,它将可传递地包含jackson-annotationjackson-core

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.1</version>
</dependency>

Spring 4 RestController JSON:此处有更多详细信息,根据请求“ accept”标头不可接受

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring 4 MVC应用程序-应用程序级异常处理程序

来自分类Dev

启动Spring Web MVC应用程序时发生异常

来自分类Dev

Spring 4 WebSocket集成到Spring MVC应用程序中

来自分类Dev

部署应用程序时发生java.lang.AbstractMethodError(Spring 4 MVC + Hibernate 4/5)

来自分类Dev

在Spring MVC项目中处理应用程序设置

来自分类Dev

Spring MVC应用程序中的性能

来自分类Dev

Spring MVC应用程序中的性能

来自分类Dev

创建MVC 4应用程序

来自分类Dev

Spring应用程序-非法状态异常

来自分类Dev

Spring应用程序-非法状态异常

来自分类Dev

没有web.xml无法启动spring mvc 4应用程序

来自分类Dev

Spring MVC 4:“应用程序/ json”内容类型未正确设置

来自分类Dev

WebLogic 10.3部署错误(WebApp 3.0 / Spring 4 MVC / Hibernate应用程序)

来自分类Dev

Spring REST应用程序的会话处理

来自分类Dev

在Spring 4应用程序中声明拦截器

来自分类Dev

异常处理程序不适用于Spring Boot应用程序

来自分类Dev

Spring在Spring MVC应用程序中的集成

来自分类Dev

大型MVC 4应用程序如何划分为多个较小的应用程序?

来自分类Dev

如何处理WPF应用程序中未处理的应用程序级异常?

来自分类Dev

Spring批处理应用程序中的Spring JdbcCursorItemReader

来自分类Dev

使用Spring MVC创建Web应用程序

来自分类Dev

非Spring MVC应用程序中的MultipartFilter

来自分类Dev

Spring MVC Web应用程序中的模板

来自分类Dev

使用Spring MVC应用程序实现Tiles 3

来自分类Dev

设置Spring MVC Web应用程序的起始页面?

来自分类Dev

Spring MVC应用程序Junit测试用例失败

来自分类Dev

Spring MVC应用程序测试中的ContextConfiguration

来自分类Dev

Spring MVC应用程序可以更改SSL吗?

来自分类Dev

Spring MVC和Web应用程序分离

Related 相关文章

  1. 1

    Spring 4 MVC应用程序-应用程序级异常处理程序

  2. 2

    启动Spring Web MVC应用程序时发生异常

  3. 3

    Spring 4 WebSocket集成到Spring MVC应用程序中

  4. 4

    部署应用程序时发生java.lang.AbstractMethodError(Spring 4 MVC + Hibernate 4/5)

  5. 5

    在Spring MVC项目中处理应用程序设置

  6. 6

    Spring MVC应用程序中的性能

  7. 7

    Spring MVC应用程序中的性能

  8. 8

    创建MVC 4应用程序

  9. 9

    Spring应用程序-非法状态异常

  10. 10

    Spring应用程序-非法状态异常

  11. 11

    没有web.xml无法启动spring mvc 4应用程序

  12. 12

    Spring MVC 4:“应用程序/ json”内容类型未正确设置

  13. 13

    WebLogic 10.3部署错误(WebApp 3.0 / Spring 4 MVC / Hibernate应用程序)

  14. 14

    Spring REST应用程序的会话处理

  15. 15

    在Spring 4应用程序中声明拦截器

  16. 16

    异常处理程序不适用于Spring Boot应用程序

  17. 17

    Spring在Spring MVC应用程序中的集成

  18. 18

    大型MVC 4应用程序如何划分为多个较小的应用程序?

  19. 19

    如何处理WPF应用程序中未处理的应用程序级异常?

  20. 20

    Spring批处理应用程序中的Spring JdbcCursorItemReader

  21. 21

    使用Spring MVC创建Web应用程序

  22. 22

    非Spring MVC应用程序中的MultipartFilter

  23. 23

    Spring MVC Web应用程序中的模板

  24. 24

    使用Spring MVC应用程序实现Tiles 3

  25. 25

    设置Spring MVC Web应用程序的起始页面?

  26. 26

    Spring MVC应用程序Junit测试用例失败

  27. 27

    Spring MVC应用程序测试中的ContextConfiguration

  28. 28

    Spring MVC应用程序可以更改SSL吗?

  29. 29

    Spring MVC和Web应用程序分离

热门标签

归档