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