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