使用SpringBoot1.5.3整合Swagger2(2.6.1)时遇到如下问题:
由于需要添加Mvc Interceptor
自定义了WebMvcConfig extends WebMvcConfigurationSupport
重写addResourceHandlers,addInterceptors方法.
在addResourceHandlers方法中代码如下:
String RESOURCE_LOCATION = "classpath:/META-INF/resources/";
registry.addResourceHandler("/swagger-ui.html").addResourceLocations(RESOURCE_LOCATION);
registry.addResourceHandler("/webjars/**").addResourceLocations(RESOURCE_LOCATION + "/webjars/");// 1
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");```
以上1处代码存在问题。如果将打包成的war直接部署到tomcat中,访问Swagger没有问题。
但是如果使用java -jar xxx.war(使用的embeed tomcat) 方式则无法访问。因为RESOURCE_LOCATION 变量已“/”结尾,webjars前又写了一个"/",导致路径错误。去掉webjars前面的"/"即可。
网友评论