版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~
https://blog.csdn.net/qq_29473881/article/details/95759008
springboot + swagger-ui 无法访问页面500 ResourceHttpRequestHandler cannot be cast to HandlerMethod异常记录:
springboot + swagger-ui 做接口文档的时候报ResourceHttpRequestHandler cannot be cast to HandlerMethod类转换异常
java.lang.ClassCastException: org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod
页面报500:
其中代码是此处报错:
根据异常信息,在这里得到的handler是一个ResourceHttpRequestHandler,而不是HandlerMethod。所以会报错。 解决办法有两种:
第一种:
直接先映射判断即可。
第二种:
在注册拦截器时手动排除这些请求。加上 addPathPatterns("/rest-api-root/**") 直接排除请求。
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authorizationInterceptor).addPathPatterns("/rest-api-root/**");
}
出现这个问题是前提是,已经加了过滤静态资源文件。也就是在下方这段代码已添加的前提下依旧报500的错误。则可按上方2种办法任选其一解决即可。
参考: