今天用SpringBoot整合Swagger和Knife4j的時候,都遇到了配置攔截白名單之後,依舊被攔截的問題。
解決方案:更換版本
- Swagger 不使用
版本即可2.9.x
- Knif4j 可以更換為
版本或者更高的版本2.0.3
Swagger
在浏覽器按F12,點選
Network
檢視網絡請求
或者在控制台列印攔截的路徑
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1UTO5QTM1cTM0EDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
可以發現
"/"
、
"/error"
這兩個路徑被攔截
後來發現是Swagger2.9.x版本會出現的問題,更換為其他版本即可解決問題。
Knife4j
內建Knife4j的時候,遇到了
/service-worker.js
被攔截的問題,後來通過更換版本為
2.0.3
解決了該問題。
Knife4j
2.0.3
版本:移除了
Vue
中的
pwa
機制,解決
service-work.js
引起的各種問題。
ChangeLog:
https://doc.xiaominfo.com/knife4j/changelog/2020-05-24-knife4j-2.0.3-issue.html#knife4j-spring-ui