Skip to content

Commit cb1a3a4

Browse files
authored
[feat] modify swagger (#4)
1 parent 0fc642c commit cb1a3a4

2 files changed

Lines changed: 44 additions & 51 deletions

File tree

shenyu-java-examples/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<versions-maven-plugin.version>2.5</versions-maven-plugin.version>
3939
<docker-maven-plugin.version>0.40.1</docker-maven-plugin.version>
4040
<maven-checkstyle-plugin.version>3.4.0</maven-checkstyle-plugin.version>
41-
<swagger.version>2.9.2</swagger.version>
41+
<swagger.version>2.10.0</swagger.version>
4242
</properties>
4343

4444
<modules>

shenyu-java-examples/shenyu-java-examples-http-swagger2/src/main/java/org/apache/shenyu/examples/http/config/SwaggerConfiguration.java

Lines changed: 43 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,10 @@
1818
package org.apache.shenyu.examples.http.config;
1919

2020
import io.swagger.annotations.ApiOperation;
21-
import java.lang.reflect.Field;
22-
import java.util.ArrayList;
23-
import java.util.List;
24-
import java.util.Objects;
25-
import java.util.stream.Collectors;
2621
import org.apache.shenyu.common.constant.Constants;
2722
import org.apache.shenyu.common.utils.VersionUtils;
28-
import org.springframework.beans.BeansException;
29-
import org.springframework.beans.factory.config.BeanPostProcessor;
3023
import org.springframework.context.annotation.Bean;
3124
import org.springframework.context.annotation.Configuration;
32-
import org.springframework.util.ReflectionUtils;
33-
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
3425
import springfox.documentation.builders.ApiInfoBuilder;
3526
import springfox.documentation.builders.ParameterBuilder;
3627
import springfox.documentation.builders.PathSelectors;
@@ -41,14 +32,16 @@
4132
import springfox.documentation.service.Parameter;
4233
import springfox.documentation.spi.DocumentationType;
4334
import springfox.documentation.spring.web.plugins.Docket;
44-
import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
45-
import springfox.documentation.swagger2.annotations.EnableSwagger2;
35+
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
36+
37+
import java.util.ArrayList;
38+
import java.util.List;
4639

4740
/**
4841
* Configuration class for Swagger API document.
4942
*/
5043
@Configuration
51-
@EnableSwagger2
44+
@EnableSwagger2WebMvc
5245
public class SwaggerConfiguration {
5346

5447
private static final String DEFAULT_SWAGGER_API_VERSION = "2.3.0";
@@ -103,44 +96,44 @@ public Docket createRestApi() {
10396
.build();
10497
}
10598

106-
/**
107-
* use bean to be compatible with springboot 2.6.8.
108-
*
109-
* @return BeanPostProcessor
110-
*/
111-
@Bean
112-
public BeanPostProcessor springfoxBeanHandler() {
113-
return new BeanPostProcessor() {
114-
@Override
115-
public Object postProcessAfterInitialization(final Object bean,
116-
final String beanName) throws BeansException {
117-
if (bean instanceof WebMvcRequestHandlerProvider) {
118-
customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
119-
}
120-
return bean;
121-
}
122-
123-
private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(
124-
final List<T> mappings) {
125-
List<T> copy = mappings.stream()
126-
.filter(mapping -> Objects.isNull(mapping.getPatternParser()))
127-
.collect(Collectors.toList());
128-
mappings.clear();
129-
mappings.addAll(copy);
130-
}
131-
132-
@SuppressWarnings("unchecked")
133-
private List<RequestMappingInfoHandlerMapping> getHandlerMappings(final Object bean) {
134-
try {
135-
Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
136-
field.setAccessible(true);
137-
return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
138-
} catch (IllegalArgumentException | IllegalAccessException e) {
139-
throw new IllegalStateException(e);
140-
}
141-
}
142-
};
143-
}
99+
// /**
100+
// * use bean to be compatible with springboot 2.6.8.
101+
// *
102+
// * @return BeanPostProcessor
103+
// */
104+
// @Bean
105+
// public BeanPostProcessor springfoxBeanHandler() {
106+
// return new BeanPostProcessor() {
107+
// @Override
108+
// public Object postProcessAfterInitialization(final Object bean,
109+
// final String beanName) throws BeansException {
110+
// if (bean instanceof WebMvcRequestHandlerProvider) {
111+
// customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
112+
// }
113+
// return bean;
114+
// }
115+
//
116+
// private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(
117+
// final List<T> mappings) {
118+
// List<T> copy = mappings.stream()
119+
// .filter(mapping -> Objects.isNull(mapping.getPatternParser()))
120+
// .collect(Collectors.toList());
121+
// mappings.clear();
122+
// mappings.addAll(copy);
123+
// }
124+
//
125+
// @SuppressWarnings("unchecked")
126+
// private List<RequestMappingInfoHandlerMapping> getHandlerMappings(final Object bean) {
127+
// try {
128+
// Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
129+
// field.setAccessible(true);
130+
// return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
131+
// } catch (IllegalArgumentException | IllegalAccessException e) {
132+
// throw new IllegalStateException(e);
133+
// }
134+
// }
135+
// };
136+
// }
144137

145138
/**
146139
* Fetch version information from pom.xml and set title, version, description,

0 commit comments

Comments
 (0)