添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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的直接放行或者直接处理掉
      第一种处理方式直接放行,一般会返回找不到
      SpringBoot 拦截器 handler强制类型转换出错_拦截器
      第二种方式处理,直接拒绝,返回内容为空
      SpringBoot 拦截器 handler强制类型转换出错_拦截器_02
      第三种方式,抛出自定义异常,返回自定义异常信息
      SpringBoot 拦截器 handler强制类型转换出错_拦截器_03
      SpringBoot 拦截器 handler强制类型转换出错_spring boot_04

第四种方式,返回自定义内容
SpringBoot 拦截器 handler强制类型转换出错_拦截器_05
SpringBoot 拦截器 handler强制类型转换出错_spring boot_06