/null/swagger-resources/configuration/security
情况形容
今早上来打开项目,结果发现。。。界面不显示,而且一直弹这个。。。
后台也一直在循环以下报错:
/null/swagger-resources/configuration/security
/null/swagger-resources/configuration/ui
/null/swagger-resources/configuration/security *
/null/swagger-resources
解决
相关报错
有的说是未关闭swagger界面而直接关闭浏览器所导致的异常,但我昨天清楚的记得我是一个一个界面关闭的。
也有的说是包冲突,版本不一致导致的错误,但我用的是properties标签来统一的版本
<properties>
<springfox.version>2.x.x</springfox.version>
</properties>
也有的说是浏览器swagger界面没关,导致一直轮询,问题是我的项目打开就报错,控制台疯了一样地输出,界面都没打开。。。
具体解决
可用方法一,添加viewController重定向
既然是请求,我直接重定向一下就可以,在WebMvcConfigurer的实现类里,添加以下视图控制器的逻辑
/** * 解决swagger死循环问题 *
* 视具体情况用,若控制台报错 No mapping for GET
* /aifruit/null/swagger-resources/configuration/security *
* 则使用下面代码 *
* 下面这几个地址会一直轮询,改为重定向 *
* /null/swagger-resources/configuration/ui *
* /null/swagger-resources/configuration/security *
* /null/swagger-resources */
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController(
"/null/api-docs",
"/api-docs").setKeepQueryParams(true);
registry.addRedirectViewController(
"/null/swagger-resources/configuration/ui",
"/swagger-resources/configuration/ui");
registry.addRedirectViewController(
"/null/swagger-resources/configuration/security",
"/swagger-resources/configuration/security");
registry.addRedirectViewController(
"/null/swagger-resources",
"/swagger-resources");
}
这样发过来的请求就会被重定向,就不会有报错了
方法二,重新引入包信息
这个就比较简单了,刷新一下引入的包就可以了
然后重启项目即可。这样的也可以解决。
感觉像是刷新了swagger框架内产生错误的文件,将文件回溯到最初版本,类似于遇到错误的重置文件信息。