diff --git a/mallinkAdmin/src/main/java/com/iformall/config/Swagger2Config.java b/mallinkAdmin/src/main/java/com/iformall/config/Swagger2Config.java new file mode 100644 index 000000000..335b86b7b --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/config/Swagger2Config.java @@ -0,0 +1,61 @@ +package com.iformall.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Parameter; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.paths.RelativePathProvider; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import javax.servlet.ServletContext; +import java.util.ArrayList; +import java.util.List; + +//参考:http://blog.csdn.net/catoop/article/details/50668896 +@Configuration +@EnableSwagger2 +public class Swagger2Config { + + @Autowired + private ServletContext servletContext; + + @Bean + public Docket createRestApi() { + ParameterBuilder tokenPar = new ParameterBuilder(); + List pars = new ArrayList(); + //增加一个request的header参数 + tokenPar.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); + pars.add(tokenPar.build()); + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(RequestHandlerSelectors.basePackage("com.iformall.controller")) + .paths(PathSelectors.any()) + .build() + .globalOperationParameters(pars) + .pathProvider(new RelativePathProvider(servletContext) { + @Override + public String getApplicationBasePath() { + return "/api"; + } + }); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("a端 api") + .description("a api") + .termsOfServiceUrl("http://localhost:7000") + .version("2.0") + .build(); + } + +} \ No newline at end of file diff --git a/mallinkCApi/src/main/java/com/iformall/config/Swagger2Config.java b/mallinkCApi/src/main/java/com/iformall/config/Swagger2Config.java index 9e6318868..2118b9dbd 100644 --- a/mallinkCApi/src/main/java/com/iformall/config/Swagger2Config.java +++ b/mallinkCApi/src/main/java/com/iformall/config/Swagger2Config.java @@ -1,5 +1,6 @@ package com.iformall.config; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; @@ -10,9 +11,11 @@ import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Parameter; import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.paths.RelativePathProvider; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import javax.servlet.ServletContext; import java.util.ArrayList; import java.util.List; @@ -21,6 +24,9 @@ import java.util.List; @EnableSwagger2 public class Swagger2Config { + @Autowired + private ServletContext servletContext; + @Bean public Docket createRestApi() { ParameterBuilder tokenPar = new ParameterBuilder(); @@ -34,7 +40,13 @@ public class Swagger2Config { .apis(RequestHandlerSelectors.basePackage("com.iformall.controller")) .paths(PathSelectors.any()) .build() - .globalOperationParameters(pars); + .globalOperationParameters(pars) + .pathProvider(new RelativePathProvider(servletContext) { + @Override + public String getApplicationBasePath() { + return "/api"; + } + }); } private ApiInfo apiInfo() {