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

相关推荐
祈祷苍天赐我java之术4 分钟前
Maven 从入门到精通
java·maven
没有bug.的程序员7 分钟前
Redis 内存管理机制:深度解析与性能优化实践
java·数据库·redis·性能优化·内存管理机制
小蒜学长16 分钟前
基于SpringBoot+Vue的健身房管理系统的设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端
Seven9717 分钟前
Redis是如何高效管理有限内存的?
java
勇往直前plus20 分钟前
Milvus快速入门以及用 Java 操作 Milvus
java·spring boot·embedding·milvus
失散1321 分钟前
分布式专题——2 深入理解Redis线程模型
java·数据库·redis·分布式·架构
彭于晏Yan40 分钟前
Spring Boot中策略模式结合依赖注入的实现方式
spring boot·策略模式
王伯安呢1 小时前
Java开发环境配置入门指南
java·开发语言·jvm·eclipse·环境搭建·新手
计算机毕业设计木哥1 小时前
Python毕业设计推荐:基于Django的饮食计划推荐与交流分享平台 饮食健康系统 健康食谱计划系统
开发语言·hadoop·spring boot·后端·python·django·课程设计
rockmelodies1 小时前
Java安全体系深度研究:技术演进与攻防实践
java·开发语言·安全