springboot集成swagger2后原来static下的index.html不能正常访问, 调试了好久发现是配置类注解的问题.
大概原因是直接拿了springMvc的swagger配置类的注解, 没有做调整, 需要删除下图两处标注的注解和继承:
还有就是不用配置默认首页, springboot会自动寻找/resources/static下的index.html文件.
贴一下我的配置文件和pom依赖
pom
<!-- swagger2依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
swagger配置类
@Configuration
@EnableSwagger2
public class WebSwagger {
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.host("localhost:8082")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.inpan.controller"))
.build()
.enable(true);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("后台管理系统API")
.description("接口地址:https://")
.version("2.0").build();
}
}
swagger资源映射配置及跨域支持
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 静态资源路径配置
* @author Ray
* @date 2018/11/2 14:17
**/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
/**
* 跨域支持
* @author Ray
* @date 2018/11/2 14:17
**/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH")
.maxAge(3600);
}
}