解决spring boot无法捕捉404异常问题

系统做了一个全局异常,对各种异常进行封装,统一返回。 代码如下:

@ExceptionHandler(NoHandlerFoundException.class)
    @ResponseStatus(value = HttpStatus.NOT_FOUND)
    @ResponseBody
    public ResponseEntity<ErrorResponse> handle404(NoHandlerFoundException e) {

        LOGGER.info("Resource Not found, RequestURL: {}, HttpMethod: {}, Headers: {}", e.getRequestURL(),
                e.getHttpMethod(), e.getHeaders());
        LOGGER.error(e.getMessage(), e);
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);

        return new ResponseEntity<>(new ErrorResponse(WebExceptionCode.NOT_FOUND), headers, HttpStatus.NOT_FOUND);
    }

但是在使用过程中,发现404时,根本没办法进入到该异常处理。经查,是spring mvc 在异常时,没有抛出404异常。 处理办法如下:

#出现错误时, 直接抛出异常
spring.mvc.throw-exception-if-no-handler-found=true
#不要为我们工程中的资源文件建立映射
spring.resources.add-mappings=false

经测试,处理正常!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

Memcached 命令执行漏洞(CVE-2016-8704、CVE-2016-8705、CVE-2016-8706)简析

Author: p0wd3r, dawu (知道创宇404安全实验室) Date: 2016-11-01 0x00 漏洞概述 1.漏洞简介 Memcached...

3866
来自专栏java相关

基于注解实现SpringBoot多数据源配置

1383
来自专栏MasiMaro 的技术博文

windows 驱动开发入门——驱动中的数据结构

最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书——《独钓寒江 windows安全编程》 和...

1472
来自专栏Java 源码分析

SpringBoot 笔记(十一):Servlet容器

2542
来自专栏狂码一生

用MFC写一个聊天室程序 - 学习笔记

下面的服务器端与客户端的程序与步骤是我在学习MFC网络编程写一个聊天室程序所写的程序,在这里作一个笔记,也希望能帮到一部分刚刚学习的朋友,一起共勉,一起努力历进...

1.1K15
来自专栏wannshan(javaer,RPC)

ConcurrentHashMap 锁分段 源码分析

看ConcurrentHashMap下几个属性: /** * The default concurrency level for this table...

4146
来自专栏小尘哥的专栏

【springboot+easypoi】大数据量excel导出

上次写了一行代码解决导出导入,没看的小伙伴建议先看下《一行代码做Excel导入导出》,但是实际业务中遇到一个问题,如果数据里比较大的时候,例如10w+数据一次导...

2053
来自专栏Android开发指南

5.数据库

3598
来自专栏陈树义

玩转SSH(四):Struts + Spring + MyBatis

一、创建 SSMDemo 项目 点击菜单,选择“File -> New Project” 创建新项目。选择使用 archetype 中的 maven-webap...

4556
来自专栏向治洪

Android 应用安装过程分析

在之前的文章中,我们对PakageManagerService启动流程分析 做了简单的介绍,并对PMS系统的启动流程做了详细的解析。上面只是说到了Android...

7069

扫码关注云+社区

领取腾讯云代金券