From 5ed52a7f41478c0709a356774a640957b811f472 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期三, 07 六月 2023 11:40:52 +0800
Subject: [PATCH] 集成swagger

---
 /dev/null                                                                            |   33 ----------------
 xzs/src/main/java/com/mindskip/xzs/configuration/swagger/SwaggerConfig.java          |   42 +++++++++++++++++++++
 xzs/pom.xml                                                                          |   17 ++++++++
 xzs/src/main/java/com/mindskip/xzs/configuration/spring/mvc/WebMvcConfiguration.java |    5 ++
 4 files changed, 63 insertions(+), 34 deletions(-)

diff --git a/xzs/pom.xml b/xzs/pom.xml
index 186cb6f..f29c10f 100644
--- a/xzs/pom.xml
+++ b/xzs/pom.xml
@@ -106,7 +106,22 @@
             <version>1.2.12</version>
         </dependency>
 
-
+        <!--swagger 渚濊禆-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>swagger-bootstrap-ui</artifactId>
+            <version>1.6</version>
+        </dependency>
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
diff --git a/xzs/src/main/java/com/mindskip/xzs/aop/InterfaceLogHandler.java b/xzs/src/main/java/com/mindskip/xzs/aop/InterfaceLogHandler.java
deleted file mode 100644
index 852aa76..0000000
--- a/xzs/src/main/java/com/mindskip/xzs/aop/InterfaceLogHandler.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.mindskip.xzs.aop;
-
-import com.mindskip.xzs.controller.admin.DashboardController;
-import com.mindskip.xzs.service.FileUpload;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.aspectj.lang.annotation.Pointcut;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
-
-@Aspect
-@Component
-public class InterfaceLogHandler {
-    private final Logger logger = LoggerFactory.getLogger(FileUpload.class);
-
-//    @Pointcut("execution(* com.example.jz.controller.*.*(..))")
-    @Pointcut("execution(* com.mindskip.xzs.controller..*.*(..))")
-    public void pointcut(){};
-
-    @Before("pointcut()")
-    public void log(JoinPoint joinPoint){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        logger.info("璁块棶鎺ュ彛:{}",request.getRequestURI());
-    }
-
-}
\ No newline at end of file
diff --git a/xzs/src/main/java/com/mindskip/xzs/configuration/spring/mvc/WebMvcConfiguration.java b/xzs/src/main/java/com/mindskip/xzs/configuration/spring/mvc/WebMvcConfiguration.java
index 32918ec..851fde6 100644
--- a/xzs/src/main/java/com/mindskip/xzs/configuration/spring/mvc/WebMvcConfiguration.java
+++ b/xzs/src/main/java/com/mindskip/xzs/configuration/spring/mvc/WebMvcConfiguration.java
@@ -45,6 +45,11 @@
         registry.addResourceHandler("/**")
                 .addResourceLocations("classpath:/static/")
                 .setCachePeriod(31556926);
+        registry.addResourceHandler("swagger-ui.html")
+                .addResourceLocations("classpath:/META-INF/resources/");
+        registry.addResourceHandler("/webjars/**")
+                .addResourceLocations("classpath:/META-INF/resources/webjars/");
+        super.addResourceHandlers(registry);
     }
 
     @Override
diff --git a/xzs/src/main/java/com/mindskip/xzs/configuration/swagger/SwaggerConfig.java b/xzs/src/main/java/com/mindskip/xzs/configuration/swagger/SwaggerConfig.java
new file mode 100644
index 0000000..5ef79e8
--- /dev/null
+++ b/xzs/src/main/java/com/mindskip/xzs/configuration/swagger/SwaggerConfig.java
@@ -0,0 +1,42 @@
+package com.mindskip.xzs.configuration.swagger;
+
+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.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.SWAGGER_2).
+                // 鎸囧畾鏋勫缓 api 鏂囨。鐨勮缁嗕俊鎭殑鏂规硶锛�
+                        apiInfo(apiInfo()).apiInfo(apiInfo()).select()
+                // 鎸囧畾瑕佺敓鎴� api 鎺ュ彛鐨勫寘璺緞锛岃繖閲屾妸 controller 浣滀负鍖呰矾寰勶紝鐢熸垚 controller 涓殑鎵�鏈夋帴鍙�
+                .apis(RequestHandlerSelectors.basePackage("com.mindskip.xzs.controller")).paths(PathSelectors.any()).build();
+    }
+
+    /**
+     * 鏋勫缓 api 鏂囨。鐨勮缁嗕俊鎭�
+     *
+     * @return
+     */
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                // 璁剧疆椤甸潰鏍囬
+                .title("鍚庡彴鎺ュ彛鏂囨。").contact(new Contact("闈掔緤鑰冭瘯绯荤粺", "", ""))
+                // 璁剧疆鎺ュ彛鎻忚堪
+                .description("Api鏂囨。: 娉ㄦ剰!! Date鏍煎紡: yyyy-MM-dd HH:mm:ss")
+                // 璁剧疆鐗堟湰
+                .version("1.0")
+                // 鏋勫缓
+                .build();
+    }
+}

--
Gitblit v1.8.0