一、配置Maven
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<shiro.version>1.3.2</shiro.version>
<shiro-redis.version>2.4.2.1-RELEASE</shiro-redis.version>
<commons-lang3.version>3.4</commons-lang3.version>
<commons-codec.version>1.10</commons-codec.version>
<fileupload.version>1.3.1</fileupload.version>
<mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version>
<mybatisplus.version>2.1.4</mybatisplus.version>
<fastjson.version>1.2.41</fastjson.version>
<jackson.version>2.9.3</jackson.version>
<druid.version>1.1.9</druid.version>
<guava.version>17.0</guava.version>
<quartz.version>2.3.0</quartz.version>
<swagger2.version>2.4.0</swagger2.version>
<skip>true</skip>
<docker.image.prefix>unnet</docker.image.prefix>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--Swagger2 start-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
<!--Swagger2 end-->
</dependencies>
二、配置详细信息
/**
* Email: love1208tt@foxmail.com
* Copyright (c) 2019. missbe
* @author lyg 19-5-30 下午8:35
*
*
**/
@Configuration
@EnableSwagger2
public class Swagger2Config {
/**
* 添加摘要信息(Docket)
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.unnet.yjs.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Client Gateway-Swagger2 APIs")
.termsOfServiceUrl("https://blog.csdn.net/lovequanquqn?viewmode=list")
.contact(new Contact("unnet","https://blog.csdn.net/lovequanquqn?viewmode=list","love1208tt@foxmail.com"))
.version("1.0.0")
.build();
}
}
PS:Swagger2配置类需要和SpringBoot启动入口文件同一层
三、SpringBoot集成Swagger2遇到异常:请求不到swagger-ui.html的问题
这个错误,是因为静态资源路径映射问题导致。
我们在访问http://localhost/swagger-ui.html
时,这个swagger-ui.html
相关的所有前端静态文件都在springfox-swagger-ui-2.4.0.jar
里面。目录如下:
SpringBoot
自动配置本身并不会把/swagger-ui.html
这个路径映射到对应的目录META-INF/resources/
下面。我们加上这个映射即可。构建一个WebMvcConfig
类,代码如下:
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
/**
* 访问静态资源
* */
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
/**
* SpringBoot自动配置本身并不会把/swagger-ui.html
* 这个路径映射到对应的目录META-INF/resources/下面
* 采用WebMvcConfigurerAdapter将swagger的静态文件进行发布;
*/
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
//将所有/static/** 访问都映射到classpath:/static/ 目录下
registry.addResourceHandler("/static/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX +"/static/");
super.addResourceHandlers(registry);
}
}