版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_39456789/article/details/86673628
配置:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.myBlog.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
Contact contact = new Contact("我的博客", "", "");
return new ApiInfoBuilder()
.title("我的博客接口文档")
.description("我的博客接口文档")
.version("1.0")
.contact(contact)
.build();
}
}
出现问题:
1.页面404
2.后台报错
问题原因:
因为swagger-ui.html相关的所有前端静态文件都在springfox-swagger-ui-x.x.x.jar里面,在yml文件中配置了mvc.static-path-pattern: /static/** 导致swagger-ui.html相关的所有前端静态文件映射不到。
解决方案:
1. mvc.static-path-pattern: /static/** 是springboot默认配置,可以删掉,如果有修改默认配置,选择解决方案2
2.自定义静态资源映射目录,addResoureHandler指的是对外暴露的访问路径,addResourceLocations指的是文件放置的目录
@Configuration
public class WebConfig implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
}