From ed3cdd111410d19e93cc0a918e8447ba7e0fe674 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 26 一月 2024 14:28:37 +0800
Subject: [PATCH] 周五,订单相关前后端文件提交
---
north-glass-erp/src/main/java/com/example/erp/config/SwaggerConfig.java | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/config/SwaggerConfig.java b/north-glass-erp/src/main/java/com/example/erp/config/SwaggerConfig.java
new file mode 100644
index 0000000..e4564e4
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/config/SwaggerConfig.java
@@ -0,0 +1,89 @@
+package com.example.erp.config;
+import com.google.common.collect.Lists;
+import io.swagger.annotations.ApiOperation;
+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.*;
+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.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static springfox.documentation.builders.PathSelectors.regex;
+
+@Configuration
+@EnableSwagger2 //寮�鍚疭wagger2
+public class SwaggerConfig {
+
+ //閰嶇疆浜哠wagger鐨凞ocket鐨刡ean瀹炰緥
+ @Bean
+ public Docket docket(){
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .select()
+ //鍔犱簡ApiOperation娉ㄨВ鐨勭被锛屾墠鐢熸垚鎺ュ彛鏂囨。
+ .apis(RequestHandlerSelectors.basePackage("com.example.erp.controller"))
+ //鍖呬笅鐨勭被锛屾墠鐢熸垚鎺ュ彛鏂囨。
+ .paths(PathSelectors.any())
+ .build()
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts());
+
+ }
+
+
+ /**
+ * 閰嶇疆璁よ瘉妯″紡
+ * @return
+ */
+ private List<ApiKey> securitySchemes() {
+ List<ApiKey> arrayList = new ArrayList<>();
+ arrayList.add( new ApiKey("token", "token", "header"));
+ return arrayList;
+ }
+
+ /**
+ * 閰嶇疆璁よ瘉涓婁笅鏂�
+ */
+ private List<SecurityContext> securityContexts() {
+ List<SecurityContext> securityContexts = new ArrayList<>();
+ securityContexts.add(SecurityContext.builder().securityReferences(defaultAuth())
+ //杩囨护瑕侀獙璇佺殑璺緞
+ .forPaths(PathSelectors.regex("^(?!auth).*$"))
+ .build());
+ return securityContexts;
+ }
+
+ private List<SecurityReference> defaultAuth() {
+ AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
+ authorizationScopes[0] = authorizationScope;
+ List<SecurityReference> securityReferences = new ArrayList<>();
+ //楠岃瘉澧炲姞锛堟湁璁稿鏁欑▼璇存槑涓繖涓湴鏂规槸Authorization,瀵艰嚧涓嶈兘甯﹀叆鍏ㄥ眬token锛屽洜涓簊ecuritySchemes()鏂规硶涓環eader鍐欏叆token锛屾墍浠ヨ繖涓湴鏂规垜鏀逛负token灏卞彲浠ヤ簡锛�
+ securityReferences.add(new SecurityReference("token", authorizationScopes));
+ return securityReferences;
+ }
+ //閰嶇疆Swagger淇℃伅 = apiInfo
+ private ApiInfo apiInfo(){
+ //浣滆�呬俊鎭�
+ Contact contact = new Contact("閮瓂j", "", "");
+ return new ApiInfo(
+ "NorthGlass-ERP 鎺ュ彛鏂囨。", //title
+ "閮瓂j", //description
+ "1.0", //version
+ "urn:tos",
+ contact,
+ "Apache 2.0",
+ "http://www.apache.org/licenses/LICENSE-2.0",
+ new ArrayList());
+ }
+}
--
Gitblit v1.8.0