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

相关推荐
都叫我大帅哥1 小时前
深入浅出 Resilience4j:Java 微服务的“免疫系统”实战指南
java·spring cloud
Cao_Shixin攻城狮3 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
Dcs5 小时前
还在用 Arrays.hashCode?Java 自己也能写出更快的版本!
java
fouryears_234177 小时前
Spring,Spring Boot 和 Spring MVC 的关系以及区别
java·spring boot·spring·mvc
阿葱(聪)8 小时前
java 在k8s中的部署流程
java·开发语言·docker·kubernetes
浮生带你学Java8 小时前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
板板正9 小时前
SpringAI——提示词(Prompt)、提示词模板(PromptTemplate)
java·spring boot·ai·prompt
板板正9 小时前
SpringAI——对话记忆
java·spring boot·ai
期待のcode9 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互
李长渊哦9 小时前
深入理解Java中的Map.Entry接口
java·开发语言