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配置类和启动类搞起来。再不会,进厂吧,就这。散会

相关推荐
Gao_xu_sheng2 分钟前
Java程序打包成exe,无Java环境也能运行
java·开发语言
大卫小东(Sheldon)9 分钟前
Java的HTTP接口测试框架Gatling
java
谢家小布柔10 分钟前
java中的继承
java·开发语言
l1384942745117 分钟前
Java每日一题(2)
java·开发语言·游戏
苹果醋319 分钟前
SpringBoot快速入门
java·运维·spring boot·mysql·nginx
WANGWUSAN6630 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
Yvemil730 分钟前
《开启微服务之旅:Spring Boot 从入门到实践》(一)
java
forNoWhat39 分钟前
java小知识点:比较器
java·开发语言
西洼工作室1 小时前
【java 正则表达式 笔记】
java·笔记·正则表达式
40岁的系统架构师1 小时前
1 JVM JDK JRE之间的区别以及使用字节码的好处
java·jvm·python