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


Spring boot 2.0 版本報錯 ResourceHttpRequestHandler cannot be cast to HandlerMethod

在控制台的報錯信息為:
java.lang.ClassCastException: org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod

其根本的原因就在於,Spring boot 2.0對靜態資源也進行了攔截,當攔截器攔截到請求之后,但controller里並沒有對應的請求時,該請求會被當成是對靜態資源的請求。此時的handler就是 ResourceHttpRequestHandler,就會拋出以上的錯誤。

解決方案就是:在攔截器處將靜態資源的請求路徑進行排除
image
然后再將preHandler加上一層instanceof關鍵字進行判斷
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM