From 66ae2832cfae93b67f87c7de99655c15cf14cfe5 Mon Sep 17 00:00:00 2001 From: ygger Date: Tue, 24 Oct 2023 18:00:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E6=A1=A3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用Knife4j来增强Swagger生成Api文档的功能 --- qiniu/pom.xml | 12 ++++++ .../org/shushuteam/config/SwaggerConfig.java | 40 +++++++++++++++++++ .../shushuteam/controller/TestController.java | 16 ++++++-- qiniu/src/main/resources/application.yml | 7 +++- 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java diff --git a/qiniu/pom.xml b/qiniu/pom.xml index 214f890..948c2dc 100644 --- a/qiniu/pom.xml +++ b/qiniu/pom.xml @@ -39,6 +39,18 @@ commons-lang3 3.10 + + + io.springfox + springfox-boot-starter + 3.0.0 + + + com.github.xiaoymin + knife4j-spring-boot-starter + 3.0.2 + + diff --git a/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java b/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java new file mode 100644 index 0000000..e1c97b3 --- /dev/null +++ b/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java @@ -0,0 +1,40 @@ +package org.shushuteam.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.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +@Configuration +@EnableKnife4j +@EnableOpenApi +public class SwaggerConfig { + + @Bean + public Docket docket(){ + return new Docket(DocumentationType.OAS_30) + .groupName("音视频播放平台") + .enable(true) + .apiInfo(apiInfo()).enable(true) + .select() + //添加swagger接口提取范围,修改成指向你的controller包 + .apis(RequestHandlerSelectors.basePackage("org.shushuteam.controller")) + .paths(PathSelectors.any()) + .build(); + } + private ApiInfo apiInfo(){ + return new ApiInfoBuilder() + .title("Knife4j接口文档") + .version("1.0") + .description("这是一个音视频播放平台") + .build(); + } + + +} diff --git a/qiniu/src/main/java/org/shushuteam/controller/TestController.java b/qiniu/src/main/java/org/shushuteam/controller/TestController.java index 10128c9..1eacac2 100644 --- a/qiniu/src/main/java/org/shushuteam/controller/TestController.java +++ b/qiniu/src/main/java/org/shushuteam/controller/TestController.java @@ -1,18 +1,28 @@ package org.shushuteam.controller; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; -@RestController() +@RestController +@Api(value = "测试",tags = "测试") public class TestController { @GetMapping("test") - public String test(){ + @ApiOperation(value = "这是一个测试") + public String test(int id,String msg){ + return "你好呀!现在时间是:"+String.valueOf(new Date().toString()); + } + + @PostMapping("test") + @ApiOperation(value = "这是第二个测试") + public String test(String msg){ return "你好呀!现在时间是:"+String.valueOf(new Date().toString()); } } diff --git a/qiniu/src/main/resources/application.yml b/qiniu/src/main/resources/application.yml index be88d37..7ed6001 100644 --- a/qiniu/src/main/resources/application.yml +++ b/qiniu/src/main/resources/application.yml @@ -1,2 +1,7 @@ server: - port: 8085 \ No newline at end of file + port: 8085 + +spring: + mvc: + pathmatch: + matching-strategy: ant_path_matcher #解决spring 2.7与swagger3不兼容问题 -- Gitee From 8db6655177fdf6fbd6add5df68571952283ac11c Mon Sep 17 00:00:00 2001 From: ygger Date: Tue, 24 Oct 2023 20:17:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?style:=20=E6=A0=BC=E5=BC=8F=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qiniu/src/main/java/org/shushuteam/App.java | 9 +++------ .../main/java/org/shushuteam/config/SwaggerConfig.java | 5 +++-- .../java/org/shushuteam/controller/TestController.java | 10 +++++----- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/qiniu/src/main/java/org/shushuteam/App.java b/qiniu/src/main/java/org/shushuteam/App.java index dfa603a..999e87b 100644 --- a/qiniu/src/main/java/org/shushuteam/App.java +++ b/qiniu/src/main/java/org/shushuteam/App.java @@ -5,16 +5,13 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Hello world! - * */ @SpringBootApplication -public class App -{ - public static void main( String[] args ) - { +public class App { + public static void main(String[] args) { SpringApplication.run(App.class); - System.out.println( "Hello World!" ); + System.out.println("Hello World!"); } } diff --git a/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java b/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java index e1c97b3..862b2bc 100644 --- a/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java +++ b/qiniu/src/main/java/org/shushuteam/config/SwaggerConfig.java @@ -17,7 +17,7 @@ import springfox.documentation.spring.web.plugins.Docket; public class SwaggerConfig { @Bean - public Docket docket(){ + public Docket docket() { return new Docket(DocumentationType.OAS_30) .groupName("音视频播放平台") .enable(true) @@ -28,7 +28,8 @@ public class SwaggerConfig { .paths(PathSelectors.any()) .build(); } - private ApiInfo apiInfo(){ + + private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Knife4j接口文档") .version("1.0") diff --git a/qiniu/src/main/java/org/shushuteam/controller/TestController.java b/qiniu/src/main/java/org/shushuteam/controller/TestController.java index 1eacac2..c8ff3c6 100644 --- a/qiniu/src/main/java/org/shushuteam/controller/TestController.java +++ b/qiniu/src/main/java/org/shushuteam/controller/TestController.java @@ -10,19 +10,19 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Date; @RestController -@Api(value = "测试",tags = "测试") +@Api(value = "测试", tags = "测试") public class TestController { @GetMapping("test") @ApiOperation(value = "这是一个测试") - public String test(int id,String msg){ - return "你好呀!现在时间是:"+String.valueOf(new Date().toString()); + public String test(int id, String msg) { + return "你好呀!现在时间是:" + String.valueOf(new Date().toString()); } @PostMapping("test") @ApiOperation(value = "这是第二个测试") - public String test(String msg){ - return "你好呀!现在时间是:"+String.valueOf(new Date().toString()); + public String test(String msg) { + return "你好呀!现在时间是:" + String.valueOf(new Date().toString()); } } -- Gitee