SpringBoot 拦截器 handler强制类型转换出错

org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod

  • 访问的是http://localhost/ab/as
  • 登录拦截器拦截的是 /ab/**
  • 原因分析:
    1. 打断点后发现传入的是ResourceHttpRequestHandler,因为找不到用来处理这个的方法,所以作为资源来处理因此被拦截到的时候是个ResourceHttpRequestHandler,因此造成了强制类型转换错误
    2. 对于非HandlerMethod的直接放行或者直接处理掉
      第一种处理方式直接放行,一般会返回找不到
      在这里插入图片描述
      第二种方式处理,直接拒绝,返回内容为空
      在这里插入图片描述
      第三种方式,抛出自定义异常,返回自定义异常信息
      在这里插入图片描述
      在这里插入图片描述

第四种方式,返回自定义内容
在这里插入图片描述
在这里插入图片描述

posted @   HumorChen99  阅读(181)  评论(0编辑  收藏  举报  
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示