当前位置: 首页 > news >正文

springboot学习(八十五) 解决springboot3.2找不到资源无法抛出404错误的问题

前言

springboot3.2以下可以定义ErrorPageRegistrar将404错误转发到一个接口地址,但升级到springboot3.2(spring6.1)后,该配置不生效,抛出了500错误。

以前的错误页面处理如下:

@ConditionalOnClass(ErrorPageRegistry.class)
public class ErrorPageAutoConfiguration implements ErrorPageRegistrar {
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        log.info("-----------错误页面路径配置------------");
        registry.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404"),
                new ErrorPage(HttpStatus.FORBIDDEN, "/403"),
                new ErrorPage(HttpStatus.BAD_REQUEST, "/400"),
                new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500"));
        log.info("-----------错误页面路径配置结束------------");
    }
}

解决方式

通过查看日志发现springboot3.2默认寻找静态资源,在找不到资源后抛出了NoResourceFoundException,通过ExceptionAdivisor抓取做了处理,而并没有对NoResourceFoundException进行特殊处理,默认进入了500错误。

ExceptionAdivisor中添加一组对此异常的处理,即可:

    @ExceptionHandler(value = NoResourceFoundException.class)
    @ResponseStatus(HttpStatus.NOT_FOUND)
    public ResponseEntity to404Exception(NoResourceFoundException e) {
        AccessLogUtils.log(SpringUtils.getRequest(), _404);
        return res(HttpStatus.NOT_FOUND.value(), "找不到资源", e);
    }
http://www.dtcms.com/a/5955.html

相关文章:

  • 使用python的pika链接rabbitMq断裂
  • 【网络面试(5)】收发数据及断开服务器(四次挥手)
  • 自动化网络故障修复管理
  • 常用设计模式全面总结版(JavaKotlin)
  • 垃圾收集器与内存分配策略
  • 记录:开始学习网络安全
  • 牛客网SQL训练5—SQL大厂面试真题
  • 信号量机制(重要)-第二十八天
  • 系统学习Python——装饰器:函数装饰器-[对方法进行装饰:基础知识]
  • 【JVM】一文掌握JVM垃圾回收机制
  • 计算机基础面试题 |04.精选计算机基础面试题
  • 微软开源,全平台通用:Shell 自动补全工具 | 开源日报 No.132
  • uni-app tabbar组件
  • R_handbook_统计分析
  • ES应用_ES原理
  • 【c语言】飞机大战2
  • centos 安装 配置 zsh
  • Stable Diffusion WebUI制作光影文字效果
  • Android Studio 如何隐藏默认标题栏
  • 为即将到来的量子攻击做好准备的 4 个步骤
  • QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题
  • 1.3 FMEA 实施指南
  • 车路协同中 CUDA 鱼眼相机矫正、检测、追踪
  • Qt高质量的开源项目合集
  • 浏览器强缓存和协商缓存
  • HarmonyOS应用程序包快速修复
  • 在ClickHouse中使用聚合组合器
  • appium安装运行报错的解决方案
  • MATLAB中./和/,.*和*,.^和^的区别
  • 【STM32】SPI通信