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 @ 2020-11-08 12:18  HumorChen99  阅读(11)  评论(0编辑  收藏  举报  来源