专业的编程技术博客社区

网站首页 > 博客文章 正文

/null/swagger-resources/死循环,升级swagger2.0到3.0踩坑记录

baijin 2025-05-26 13:39:56 博客文章 11 ℃ 0 评论

1.问题

由于安全原因需要屏蔽生产的swagger的页面,是整个页面都屏蔽,而不是屏蔽接口,需要的效果就是访问的时候是404,

需要的效果:

博主按照网上一整搜索,下面列出:

1.https://www.cnblogs.com/anakin/p/8569820.html

2.https://blog.csdn.net/wangxy_job/article/details/106669805

一顿操作上了生产后出了问题,浏览器窗口一直弹窗,日志一直打印显示swagger死循环,/null/swagger-resources/

这怎么行,这样下去日志岂不是撑爆了。

立马快速定位问题,发现这是swagger2的一个bug,所以博主只能曲线救国,听说swagger3.0解决了这个问题

2.解决

怎么升级swagger3.0本篇博文就不说了,只说一些问题。

在升级swagger2.0到swagger3.0遇到一些问题记录下来,引入到swagger3.0后

开发环境swagger开关是打开的
springfox.documentation.enabled=true(或者直接不需要这个配置默认打开的,此配置是swagger3.0的自带开关)

发现访问http:
//XXXX/XXX/swagger-ui/index.html 是404错误,而不是想要的如下页面

到这一步真的好纠结为什么是404.。。。

没办法博主只能去鲁spring和swagger的源码了,一点一点跟进去。


一开始找到swagger3.0 的SwaggerUiWebMvcConfigurer类中addViewControllers方法根本断点就没进去,资源都找不到所以404呀,这怎么行。所以只能一点点通过find usage终于定位到问题了

问题如下项目中有小伙伴继承
WebMvcConfigurationSupport类做了一些事,导致swagger3.0的SwaggerUiWebMvcConfigurer自动配置失效

关于失效这篇博文总结很好转到此:

https://www.cnblogs.com/sueyyyy/p/11611676.html

博主一顿操作把有继承
WebMvcConfigurationSupport 改成实现WebMvcConfiger,问题终于得以解决。

3.复盘

1.
WebMvcConfigurationSupport类导致WebMvcConfigurer自动配置失效

2. 关闭swagger页面只需如下配置:
springfox.documentation.enabled=false

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表