|
@@ -0,0 +1,71 @@
|
|
|
+package com.zcxk.rmcp.web.config;
|
|
|
+
|
|
|
+import org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+import springfox.documentation.builders.ApiInfoBuilder;
|
|
|
+import springfox.documentation.builders.PathSelectors;
|
|
|
+import springfox.documentation.builders.RequestHandlerSelectors;
|
|
|
+import springfox.documentation.service.ApiInfo;
|
|
|
+import springfox.documentation.service.ApiKey;
|
|
|
+import springfox.documentation.service.AuthorizationScope;
|
|
|
+import springfox.documentation.service.SecurityReference;
|
|
|
+import springfox.documentation.spi.DocumentationType;
|
|
|
+import springfox.documentation.spi.service.contexts.SecurityContext;
|
|
|
+import springfox.documentation.spring.web.plugins.Docket;
|
|
|
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import static com.google.common.collect.Lists.newArrayList;
|
|
|
+
|
|
|
+@Configuration
|
|
|
+@EnableSwagger2
|
|
|
+public class SwaggerConfig {
|
|
|
+ @Bean
|
|
|
+ public Docket api() {
|
|
|
+ return new Docket(DocumentationType.SWAGGER_2)
|
|
|
+ .ignoredParameterTypes(BasicErrorController.class)
|
|
|
+ .groupName("web")
|
|
|
+ .select()
|
|
|
+ .apis(RequestHandlerSelectors.any())
|
|
|
+ .paths(PathSelectors.any())
|
|
|
+ .build()
|
|
|
+ .apiInfo(apiInfo())
|
|
|
+ .securitySchemes(securitySchemes())
|
|
|
+ .securityContexts(securityContexts());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private ApiInfo apiInfo() {
|
|
|
+ return new ApiInfoBuilder()
|
|
|
+ .title("计量集抄Api")
|
|
|
+ .description("计量集抄")
|
|
|
+ .version("1.0")
|
|
|
+ .termsOfServiceUrl("Terms of service")
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ApiKey> securitySchemes() {
|
|
|
+ return newArrayList(
|
|
|
+ new ApiKey("Authorization", "Authorization", "header"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<SecurityContext> securityContexts() {
|
|
|
+ return newArrayList(
|
|
|
+ SecurityContext.builder()
|
|
|
+ .securityReferences(defaultAuth())
|
|
|
+ .forPaths(PathSelectors.regex("^(?!auth).*$"))
|
|
|
+ .build()
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ List<SecurityReference> defaultAuth() {
|
|
|
+ AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
|
|
|
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
|
|
|
+ authorizationScopes[0] = authorizationScope;
|
|
|
+ return newArrayList(
|
|
|
+ new SecurityReference("Authorization", authorizationScopes));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|