From 7df8f0aa8dcbb9a8612c934e2362e3308ef6ee36 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 29 Dec 2022 19:04:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97=E6=95=B4?= =?UTF-8?q?=E5=90=88=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/jnpf/config/Knife4jConfig.java | 87 ++++----- .../main/java/jnpf/config/Swagger3Config.java | 51 ------ .../main/java/jnpf/config/SwaggerConfig.java | 166 +++++++++--------- .../src/main/java/jnpf/util/UserProvider.java | 2 +- 4 files changed, 128 insertions(+), 178 deletions(-) delete mode 100644 SC-boot/linkage-common/src/main/java/jnpf/config/Swagger3Config.java diff --git a/SC-boot/linkage-common/src/main/java/jnpf/config/Knife4jConfig.java b/SC-boot/linkage-common/src/main/java/jnpf/config/Knife4jConfig.java index 2366f8db..a27b62b3 100644 --- a/SC-boot/linkage-common/src/main/java/jnpf/config/Knife4jConfig.java +++ b/SC-boot/linkage-common/src/main/java/jnpf/config/Knife4jConfig.java @@ -1,43 +1,44 @@ -package jnpf.config; - - -import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.oas.annotations.EnableOpenApi; -import springfox.documentation.service.Contact; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -@Configuration -@EnableSwagger2 //开启 Swagger2 -@EnableKnife4j //开启 knife4j,可以不写 -@Import(BeanValidatorPluginsConfiguration.class) -public class Knife4jConfig { - @Bean - public Docket docket() { - Docket docket = new Docket(DocumentationType.OAS_30) - .apiInfo(new ApiInfoBuilder() - .title("低代码开发平台接口文档") - .description("项目描述") - // .termsOfServiceUrl("http://www.linkage.top/") - //.contact(new Contact("knife", "https://knife.blog.csdn.net/", "xx@qq.com")) - .version("1.0") - .build()) - // 分组名称 - .groupName("all") - .select() - // 这里指定Controller扫描包路径 - .apis(RequestHandlerSelectors.basePackage("jnpf")) - .paths(PathSelectors.any()) - .build(); - - return docket; - } -} \ No newline at end of file +//package jnpf.config; +// +// +//import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Import; +//import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; +//import springfox.documentation.builders.ApiInfoBuilder; +//import springfox.documentation.builders.PathSelectors; +//import springfox.documentation.builders.RequestHandlerSelectors; +//import springfox.documentation.oas.annotations.EnableOpenApi; +//import springfox.documentation.service.Contact; +//import springfox.documentation.spi.DocumentationType; +//import springfox.documentation.spring.web.plugins.Docket; +//import springfox.documentation.swagger2.annotations.EnableSwagger2; +// +//@Configuration +//@EnableOpenApi +//@EnableKnife4j //开启 knife4j,可以不写 +//@Import(BeanValidatorPluginsConfiguration.class) +////@EnableSwagger2 //开启 Swagger2 +//public class Knife4jConfig { +// @Bean +// public Docket docket() { +// Docket docket = new Docket(DocumentationType.OAS_30) +// .apiInfo(new ApiInfoBuilder() +// .title("低代码开发平台接口文档") +// .description("项目描述") +// // .termsOfServiceUrl("http://www.linkage.top/") +// //.contact(new Contact("knife", "https://knife.blog.csdn.net/", "xx@qq.com")) +// .version("1.0") +// .build()) +// // 分组名称 +// .groupName("all") +// .select() +// // 这里指定Controller扫描包路径 +// .apis(RequestHandlerSelectors.basePackage("jnpf")) +// .paths(PathSelectors.any()) +// .build(); +// +// return docket; +// } +//} \ No newline at end of file diff --git a/SC-boot/linkage-common/src/main/java/jnpf/config/Swagger3Config.java b/SC-boot/linkage-common/src/main/java/jnpf/config/Swagger3Config.java deleted file mode 100644 index 3d852c41..00000000 --- a/SC-boot/linkage-common/src/main/java/jnpf/config/Swagger3Config.java +++ /dev/null @@ -1,51 +0,0 @@ -//package jnpf.config; -// -//import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -//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.oas.annotations.EnableOpenApi; -//import springfox.documentation.service.ApiInfo; -//import springfox.documentation.service.Contact; -//import springfox.documentation.spi.DocumentationType; -//import springfox.documentation.spring.web.plugins.Docket; -///** -// * @author :jerry -// * @date :Created in 2022/5/28 10:30 -// * @description: -// * @version: V1.1 -// * *Swagger3API文档的配置 -// * knife4j文档地址(端口号根据自己项目配置): http://localhost:8081/doc.html# -// * swagger文档地址(端口号根据自己项目配置):http://localhost:8081/swagger-ui/index.html#/ -// */ -//@Configuration -//@EnableOpenApi -//@EnableKnife4j -//public class Swagger3Config { -// -// @Bean -// public Docket api() { -// return new Docket(DocumentationType.OAS_30) -//// .groupName("webApi") -// .apiInfo(apiInfo()) -// .select() -// .apis(RequestHandlerSelectors.basePackage("jnpf")) -// .paths(PathSelectors.any()) -// .build(); -// } -// -// -// @Bean -// public ApiInfo apiInfo() { -// return new ApiInfoBuilder() -// .title("SwaggerUI接口文档") -// .description("接口文档Swagger-Bootstrap版") -// .termsOfServiceUrl("http://localhost:8081/swagger-ui/index.html#/") -// .contact(new Contact("jerry","http://localhost:8081/doc.html#", "13258239832@163.com")) -// .version("1.0") -// .license("jerry") -// .build(); -// } -//} diff --git a/SC-boot/linkage-common/src/main/java/jnpf/config/SwaggerConfig.java b/SC-boot/linkage-common/src/main/java/jnpf/config/SwaggerConfig.java index c4206b65..09607656 100644 --- a/SC-boot/linkage-common/src/main/java/jnpf/config/SwaggerConfig.java +++ b/SC-boot/linkage-common/src/main/java/jnpf/config/SwaggerConfig.java @@ -1,83 +1,83 @@ -//package jnpf.config; -// -//import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -//import io.swagger.annotations.ApiOperation; -//import jnpf.util.Constants; -//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.oas.annotations.EnableOpenApi; -//import springfox.documentation.service.*; -//import springfox.documentation.spi.DocumentationType; -//import springfox.documentation.spi.service.contexts.SecurityContext; -//import springfox.documentation.spring.web.plugins.Docket; -// -//import java.util.ArrayList; -//import java.util.List; -// -///** -// * -// * @author Allen Pan -// * @version V3.4.1 -// * @copyright 长江云息 -// * @date 2021/3/16 8:56 -// */ -//@Configuration -//@EnableOpenApi -//@EnableKnife4j -//public class SwaggerConfig { -// -// @Bean -// public Docket loginApi() { -// return new Docket(DocumentationType.OAS_30) -// .apiInfo(apiInfo()) -// .pathMapping("/") -// .select() // 选择那些路径和api会生成document -// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) -// //不显示错误的接口地址 -// .build() -// .securitySchemes(securitySchemes()) -// .securityContexts(securityContexts()); -// } -// -// /** -// * 安全模式,这里指定token通过Authorization头请求头传递 -// */ -// private List securitySchemes() { -// List apiKeyList = new ArrayList<>(); -// apiKeyList.add(new ApiKey(Constants.AUTHORIZATION, Constants.AUTHORIZATION, "header")); -// return apiKeyList; -// } -// -// /** -// * 授权信息全局应用 -// */ -// private List securityContexts() { -// List securityContexts = new ArrayList<>(); -// securityContexts.add(SecurityContext.builder() -// .securityReferences(defaultAuth()) -// .forPaths(PathSelectors.any()).build()); -// return securityContexts; -// } -// -// private List defaultAuth() { -// AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); -// AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; -// authorizationScopes[0] = authorizationScope; -// List securityReferences = new ArrayList<>(); -// securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); -// return securityReferences; -// } -// -// private ApiInfo apiInfo() { -// return new ApiInfoBuilder() -// .title("接口文档") -// //描述 -// .description("LINKAGE-BOOT接口文档") -// .version(Constants.SWAGGER_VERSION) -// .build(); -// } -// -//} +package jnpf.config; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import io.swagger.annotations.ApiOperation; +import jnpf.util.Constants; +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.oas.annotations.EnableOpenApi; +import springfox.documentation.service.*; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.Docket; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author Allen Pan + * @version V3.4.1 + * @copyright 长江云息 + * @date 2021/3/16 8:56 + */ +@Configuration +@EnableOpenApi +@EnableKnife4j +public class SwaggerConfig { + + @Bean + public Docket loginApi() { + return new Docket(DocumentationType.OAS_30) + .apiInfo(apiInfo()) + .pathMapping("/") + .select() // 选择那些路径和api会生成document + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + //不显示错误的接口地址 + .build() + .securitySchemes(securitySchemes()) + .securityContexts(securityContexts()); + } + + /** + * 安全模式,这里指定token通过Authorization头请求头传递 + */ + private List securitySchemes() { + List apiKeyList = new ArrayList<>(); + apiKeyList.add(new ApiKey(Constants.AUTHORIZATION, Constants.AUTHORIZATION, "header")); + return apiKeyList; + } + + /** + * 授权信息全局应用 + */ + private List securityContexts() { + List securityContexts = new ArrayList<>(); + securityContexts.add(SecurityContext.builder() + .securityReferences(defaultAuth()) + .forPaths(PathSelectors.any()).build()); + return securityContexts; + } + + private List defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); + return securityReferences; + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("接口文档") + //描述 + .description("LINKAGE-BOOT接口文档") + .version(Constants.SWAGGER_VERSION) + .build(); + } + +} diff --git a/SC-boot/linkage-common/src/main/java/jnpf/util/UserProvider.java b/SC-boot/linkage-common/src/main/java/jnpf/util/UserProvider.java index 798706fb..66f74832 100644 --- a/SC-boot/linkage-common/src/main/java/jnpf/util/UserProvider.java +++ b/SC-boot/linkage-common/src/main/java/jnpf/util/UserProvider.java @@ -29,7 +29,7 @@ public class UserProvider { private CacheKeyUtil cacheKeyUtil; /** - * 获取token + * */ public static String getToken() { String toke = getAuthorize();