Skip to content

Commit e54841e

Browse files
committed
1. swagger升级3.0.0
2. 去掉guava 3. 增加TODO点
1 parent bc5d933 commit e54841e

File tree

4 files changed

+80
-16
lines changed

4 files changed

+80
-16
lines changed

pom.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.spring4all</groupId>
88
<artifactId>swagger-spring-boot-starter</artifactId>
9-
<version>1.9.1.RELEASE</version>
9+
<version>1.10.0.SNAPSHOT</version>
1010

1111
<name>spring-boot-starter-swagger</name>
1212
<url>https://github.com/SpringForAll/spring-boot-starter-swagger</url>
@@ -34,7 +34,7 @@
3434

3535
<developers>
3636
<developer>
37-
<name>翟永超-程序猿DD</name>
37+
<name>程序猿DD</name>
3838
<email>dyc87112@qq.com</email>
3939
<organization>http://didispace.com</organization>
4040
</developer>
@@ -48,8 +48,8 @@
4848
<properties>
4949
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5050
<version.java>1.8</version.java>
51-
<version.swagger>2.9.2</version.swagger>
52-
<version.spring-boot>1.5.10.RELEASE</version.spring-boot>
51+
<version.swagger>3.0.0</version.swagger>
52+
<version.spring-boot>2.3.0.RELEASE</version.spring-boot>
5353
<version.lombok>1.18.6</version.lombok>
5454
<version.swagger-models>1.5.24</version.swagger-models>
5555
</properties>
@@ -70,6 +70,11 @@
7070
<artifactId>spring-boot-starter-web</artifactId>
7171
<optional>true</optional>
7272
</dependency>
73+
<dependency>
74+
<groupId>org.springframework.boot</groupId>
75+
<artifactId>spring-boot-starter-webflux</artifactId>
76+
<optional>true</optional>
77+
</dependency>
7378
<dependency>
7479
<groupId>io.springfox</groupId>
7580
<artifactId>springfox-swagger-ui</artifactId>
@@ -79,13 +84,8 @@
7984
<groupId>io.springfox</groupId>
8085
<artifactId>springfox-swagger2</artifactId>
8186
<version>${version.swagger}</version>
82-
<exclusions>
83-
<exclusion>
84-
<artifactId>swagger-models</artifactId>
85-
<groupId>io.swagger</groupId>
86-
</exclusion>
87-
</exclusions>
8887
</dependency>
88+
8989
<dependency>
9090
<groupId>io.swagger</groupId>
9191
<artifactId>swagger-models</artifactId>

src/main/java/com/spring4all/swagger/SwaggerAutoConfiguration.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.spring4all.swagger;
22

3-
import com.google.common.base.Predicate;
4-
import com.google.common.base.Predicates;
53
import org.springframework.beans.BeansException;
64
import org.springframework.beans.factory.BeanFactory;
75
import org.springframework.beans.factory.BeanFactoryAware;
@@ -25,10 +23,9 @@
2523
import springfox.documentation.swagger.web.UiConfigurationBuilder;
2624

2725
import java.util.*;
26+
import java.util.function.Predicate;
2827
import java.util.stream.Collectors;
2928

30-
import static com.google.common.collect.Lists.newArrayList;
31-
3229
/**
3330
* @author 翟永超
3431
* Create date:2017/8/7.
@@ -122,6 +119,7 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
122119
buildGlobalResponseMessage(swaggerProperties, docketForBuilder);
123120
}
124121

122+
// TODO Guava去掉了之后,需要换种写法
125123
Docket docket = docketForBuilder.select()
126124
.apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage()))
127125
.paths(
@@ -195,6 +193,7 @@ public List<Docket> createRestApi(SwaggerProperties swaggerProperties) {
195193
buildGlobalResponseMessage(swaggerProperties, docketForBuilder);
196194
}
197195

196+
// TODO Guava去掉了之后,需要换种写法
198197
Docket docket = docketForBuilder.groupName(groupName)
199198
.select()
200199
.apis(RequestHandlerSelectors.basePackage(docketInfo.getBasePackage()))
@@ -270,9 +269,11 @@ public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
270269
this.beanFactory = beanFactory;
271270
}
272271

273-
272+
// TODO 全局参数的配置功能:过期了,需要重写/
274273
private List<Parameter> buildGlobalOperationParametersFromSwaggerProperties(
275274
List<SwaggerProperties.GlobalOperationParameter> globalOperationParameters) {
275+
276+
// TODO Guava去掉了之后,需要换种写法
276277
List<Parameter> parameters = newArrayList();
277278

278279
if (Objects.isNull(globalOperationParameters)) {
@@ -291,7 +292,7 @@ private List<Parameter> buildGlobalOperationParametersFromSwaggerProperties(
291292
}
292293

293294
/**
294-
* 局部参数按照name覆盖局部参数
295+
* TODO 局部参数按照name覆盖局部参数(过期了,需要重写)
295296
*
296297
* @param globalOperationParameters
297298
* @param docketOperationParameters
@@ -309,6 +310,7 @@ private List<Parameter> assemblyGlobalOperationParameters(
309310
.map(SwaggerProperties.GlobalOperationParameter::getName)
310311
.collect(Collectors.toSet());
311312

313+
// TODO Guava去掉了之后,需要换种写法
312314
List<SwaggerProperties.GlobalOperationParameter> resultOperationParameters = newArrayList();
313315

314316
if (Objects.nonNull(globalOperationParameters)) {
@@ -334,6 +336,7 @@ private void buildGlobalResponseMessage(SwaggerProperties swaggerProperties, Doc
334336
SwaggerProperties.GlobalResponseMessage globalResponseMessages =
335337
swaggerProperties.getGlobalResponseMessage();
336338

339+
// TODO ResponseMessage过期,需要重写
337340
/* POST,GET,PUT,PATCH,DELETE,HEAD,OPTIONS,TRACE 响应消息体 **/
338341
List<ResponseMessage> postResponseMessages = getResponseMessageList(globalResponseMessages.getPost());
339342
List<ResponseMessage> getResponseMessages = getResponseMessageList(globalResponseMessages.getGet());
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.spring4all.swagger;
2+
3+
import org.springframework.util.StringUtils;
4+
import org.springframework.web.reactive.config.ResourceHandlerRegistry;
5+
import org.springframework.web.reactive.config.WebFluxConfigurer;
6+
7+
/**
8+
* WebFlux的支持配置
9+
*/
10+
public class SwaggerUiWebFluxConfigurer implements WebFluxConfigurer {
11+
12+
private final String baseUrl;
13+
14+
public SwaggerUiWebFluxConfigurer(String baseUrl) {
15+
this.baseUrl = baseUrl;
16+
}
17+
18+
@Override
19+
public void addResourceHandlers(ResourceHandlerRegistry registry) {
20+
String baseUrl = StringUtils.trimTrailingCharacter(this.baseUrl, '/');
21+
registry.
22+
addResourceHandler(baseUrl + "/swagger-ui/**")
23+
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
24+
.resourceChain(false);
25+
}
26+
27+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.spring4all.swagger;
2+
3+
import org.springframework.util.StringUtils;
4+
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
5+
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
6+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
7+
8+
/**
9+
* Spring MVC的支持配置
10+
*/
11+
public class SwaggerUiWebMvcConfigurer implements WebMvcConfigurer {
12+
13+
private final String baseUrl;
14+
15+
public SwaggerUiWebMvcConfigurer(String baseUrl) {
16+
this.baseUrl = baseUrl;
17+
}
18+
19+
@Override
20+
public void addResourceHandlers(ResourceHandlerRegistry registry) {
21+
String baseUrl = StringUtils.trimTrailingCharacter(this.baseUrl, '/');
22+
registry.
23+
addResourceHandler(baseUrl + "/swagger-ui/**")
24+
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
25+
.resourceChain(false);
26+
}
27+
28+
@Override
29+
public void addViewControllers(ViewControllerRegistry registry) {
30+
registry.addViewController(baseUrl + "/swagger-ui/")
31+
.setViewName("forward:" + baseUrl + "/swagger-ui/index.html");
32+
}
33+
34+
}

0 commit comments

Comments
 (0)