Pārlūkot izejas kodu

添加swagerr文档

wangchangsheng 2 gadi atpakaļ
vecāks
revīzija
3d1e1a9e41

+ 23 - 2
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/RunEconomyApplication.java

@@ -1,16 +1,37 @@
 package com.gyee.runeconomy;
 
+import lombok.extern.log4j.Log4j2;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.core.env.Environment;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 
+
+@Log4j2
 @SpringBootApplication
 @MapperScan("com.gyee.runeconomy.mapper")
 public class RunEconomyApplication {
 
-    public static void main(String[] args) {
-        SpringApplication.run(RunEconomyApplication.class, args);
+    public static void main(String[] args) throws UnknownHostException {
+        ConfigurableApplicationContext application = SpringApplication.run(RunEconomyApplication.class, args);
+
+
+        Environment env = application.getEnvironment();
+        String ip = InetAddress.getLocalHost().getHostAddress();
+        String port = env.getProperty("server.port");
+        String path = env.getProperty("server.servlet.context-path");
+
+        log.info("\n-------------------------------------------------------------------\n\t" +
+                "经济运行系统启动成功,访问路径如下:\n\t" +
+                "本地路径: \t\thttp://localhost:" + port + path + "\n\t" +
+                "网络地址: \t\thttp://" + ip + ":" + port + path + "\n\t" +
+                "API文档: \t\thttp://" + ip + ":" + port + path + "/swagger-ui.html\n" +
+                "-----------------------------------------------------------------------");
+
 
 //        CacheService cacheService= SpringUtils.getBean("cacheService");
 //        cacheService.initRedisCache();

+ 76 - 0
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/config/SwagerrConfiguration.java

@@ -0,0 +1,76 @@
+package com.gyee.runeconomy.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * Swagger 配置文件
+ * @ClassName: Swagger
+ * @Description: 配置文件
+ * @author gyee
+ * @date 2022年11月10日
+ *
+ */
+@Configuration(value="true")
+@EnableSwagger2 //启动swagger注解 启动服务,浏览器输入"http://localhost:8080/swagger-ui.html"
+public class SwagerrConfiguration implements WebMvcConfigurer {
+
+
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                //.host("")
+                // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
+                .apiInfo(apiInfo())
+                // 设置哪些接口暴露给Swagger展示
+                .select()
+                // 扫描所有有注解的api,用这种方式更灵活
+                .apis(RequestHandlerSelectors.basePackage("com.gyee.runeconomy"))
+                // 扫描指定包中的swagger注解
+                //.apis(RequestHandlerSelectors.basePackage("com.gyee.frame.controller"))
+                // 扫描所有 .apis(RequestHandlerSelectors.any())
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                //设置标题
+                .title("后台管理API文档")
+                //描述
+                .description("后台管理项目")
+                //作者信息
+                //.contact(new Contact(v2Config.getName(), null, V2Config.getEmail_account()))
+                //服务条款URL
+                .termsOfServiceUrl("")
+                //版本
+                .version("版本号:1.0")
+                .build();
+    }
+
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+
+        // 解决静态资源无法访问
+
+        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
+
+        // 解决swagger无法访问
+
+        registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
+
+        // 解决swagger的js文件无法访问
+
+        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
+
+    }
+}