SpringBoot2.0.x旧版集成Swagger UI报错Unable to infer base url...解决办法

一、问题描述

1.1项目背景

SpringBoot2.0.9的旧版项目维护开发,集成Swagger-ui2.9.2无法访问的问题。不用想啊,这种老项目是各种过滤器拦截器的配置,访问不到,肯定是它们在作妖。懂得都懂啊,这里交给大家一个排错的办法,emm比在网上无脑搜要好点(手动狗头)。

1.2报错展示

java 复制代码
Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually:

贴图

1.3解决思路。

这一大堆翻译过来,大概就是说:
无法推断基本url。在使用动态servlet注册或API位于API网关后面时,这种情况很常见。基url是提供所有swagger资源的根。例如,如果api在http://example.org/api/v2/api-docs上可用,那么基础url是http://example.org/api/。请手动输入位置:

可以说是毫无卵用,反正就是访问不到了,其实细心点可以发现,这种情况比直接给你跳404NotFound黑白页面好得多,至少这个swagger的图标能显示。这说明配置没毛病啊,只不过请求被拦截了或者转发了。这时候还说啥,看f12啊,NetWork搂一眼,别他妈只看console啊。

很明显啊,点开看看


放行/swagger-ui/** 和 /swagger-resources/**
什么?不知道在哪放行?奶奶的 配置了SpringSecurity的在Security配置类放行,配置了cas单点登录的去登录拦截器过滤器配置放行,你就瞅吧,肯定有拦截的。但是你别到最后都放行了还不行 那他喵肯定是你没@EnableSwagger2
swagger配置类和启动类搞起来。再不会,进厂吧,就这。散会

相关推荐
2401_cf2 小时前
为什么hadoop不用Java的序列化?
java·hadoop·eclipse
帮帮志2 小时前
idea整合maven环境配置
java·maven·intellij-idea
LuckyTHP2 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
热河暖男2 小时前
【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题
spring boot·后端·excel
无声旅者5 小时前
深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
java·ide·ai·intellij-idea·ai编程·continue·openapi
0吉光片羽05 小时前
【SpringBoot】集成kafka之生产者、消费者、幂等性处理和消息积压
spring boot·kafka·linq
Ryan-Joee5 小时前
Spring Boot三层架构设计模式
java·spring boot
Hygge-star5 小时前
【数据结构】二分查找5.12
java·数据结构·程序人生·算法·学习方法
dkmilk6 小时前
Tomcat发布websocket
java·websocket·tomcat
工一木子6 小时前
【Java项目脚手架系列】第七篇:Spring Boot + Redis项目脚手架
java·spring boot·redis