Skip to content

Commit 99ff8ee

Browse files
committed
Merge pull request #22 from spinnaker/upgrade-to-springfox-swagger2
Upgrade to Swagger2 (as part of springfox)
2 parents 0a24957 + 46fa738 commit 99ff8ee

37 files changed

+38
-12090
lines changed

kork-swagger/kork-swagger.gradle

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
dependencies {
22
compile spinnaker.dependency('bootAutoConfigure')
3-
4-
compile "com.mangofactory:swagger-springmvc:0.9.5"
5-
compile "com.mangofactory:swagger-models:0.9.5"
3+
compile "io.springfox:springfox-swagger2:2.2.2"
4+
compile "io.springfox:springfox-swagger-ui:2.2.2"
65
}

kork-swagger/src/main/java/com/netflix/spinnaker/config/SwaggerConfig.java

+24-15
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,24 @@
1616

1717
package com.netflix.spinnaker.config;
1818

19-
import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
20-
import com.mangofactory.swagger.models.dto.ApiInfo;
21-
import com.mangofactory.swagger.plugin.EnableSwagger;
22-
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
23-
import org.springframework.beans.factory.annotation.Autowired;
2419
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
2520
import org.springframework.boot.context.properties.ConfigurationProperties;
2621
import org.springframework.context.annotation.Bean;
2722
import org.springframework.context.annotation.Configuration;
23+
import springfox.documentation.builders.PathSelectors;
24+
import springfox.documentation.builders.RequestHandlerSelectors;
25+
import springfox.documentation.service.ApiInfo;
26+
import springfox.documentation.spi.DocumentationType;
27+
import springfox.documentation.spring.web.plugins.Docket;
28+
import springfox.documentation.swagger2.annotations.EnableSwagger2;
29+
import com.google.common.base.Predicate;
2830

2931
import java.util.List;
32+
import java.util.stream.Collectors;
3033

31-
@EnableSwagger
34+
import static com.google.common.base.Predicates.or;
35+
36+
@EnableSwagger2
3237
@Configuration
3338
@ConditionalOnProperty("swagger.enabled")
3439
@ConfigurationProperties(prefix = "swagger")
@@ -38,24 +43,28 @@ public class SwaggerConfig {
3843
private String contact;
3944
private List<String> patterns;
4045

41-
@Autowired
42-
SpringSwaggerConfig springSwaggerConfig;
43-
4446
@Bean
45-
public SwaggerSpringMvcPlugin swaggerPlugin() {
46-
SwaggerSpringMvcPlugin plugin = new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo());
47-
if (patterns != null && !patterns.isEmpty()) {
48-
plugin = plugin.includePatterns(patterns.toArray(new String[patterns.size()]));
49-
}
47+
public Docket gateApi() {
48+
return new Docket(DocumentationType.SWAGGER_2)
49+
.select()
50+
.apis(RequestHandlerSelectors.any())
51+
.paths(paths())
52+
.build()
53+
.apiInfo(apiInfo());
54+
}
5055

51-
return plugin;
56+
private Predicate<String> paths() {
57+
return or(
58+
patterns.stream().map(PathSelectors::regex).collect(Collectors.toList())
59+
);
5260
}
5361

5462
private ApiInfo apiInfo() {
5563
return new ApiInfo(
5664
title,
5765
description,
5866
null,
67+
null,
5968
contact,
6069
null,
6170
null

kork-swagger/src/main/resources/static/swagger/css/reset.css

-125
This file was deleted.

0 commit comments

Comments
 (0)