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 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
jmxwzy1 小时前
Spring全家桶
java·spring·rpc
Halo_tjn1 小时前
基于封装的专项 知识点
java·前端·python·算法
Fleshy数模2 小时前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言
像少年啦飞驰点、2 小时前
零基础入门 Spring Boot:从“Hello World”到可上线的 Web 应用全闭环指南
java·spring boot·web开发·编程入门·后端开发
苍煜2 小时前
万字详解Maven打包策略:从基础插件到多模块实战
java·maven
有来技术2 小时前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东5162 小时前
xxx医患档案管理系统
java·spring boot·vue·毕业设计·智慧城市
东东5163 小时前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
一个响当当的名号3 小时前
lectrue9 索引并发控制
java·开发语言·数据库