From eb869e88a828472a4e9759ec1ae34688ebc5c29f Mon Sep 17 00:00:00 2001
From: Button <2740277548@qq.com>
Date: Sun, 18 Apr 2021 19:03:29 +0800
Subject: [PATCH 1/3] =?UTF-8?q?Springboot=E6=95=B4=E5=90=88Knife4j?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
springboot-knife4j/.gitignore | 31 ++++++
springboot-knife4j/README.md | 3 +
springboot-knife4j/pom.xml | 96 ++++++++++++++++++
.../button/SpringbootKnife4jApplication.java | 13 +++
.../com/button/config/Swagger2Config.java | 38 +++++++
.../com/button/controller/UserController.java | 23 +++++
.../java/com/button/domain/vo/ResultData.java | 99 +++++++++++++++++++
.../src/main/resources/application.yml | 9 ++
.../SpringbootKnife4jApplicationTests.java | 13 +++
9 files changed, 325 insertions(+)
create mode 100644 springboot-knife4j/.gitignore
create mode 100644 springboot-knife4j/README.md
create mode 100644 springboot-knife4j/pom.xml
create mode 100644 springboot-knife4j/src/main/java/com/button/SpringbootKnife4jApplication.java
create mode 100644 springboot-knife4j/src/main/java/com/button/config/Swagger2Config.java
create mode 100644 springboot-knife4j/src/main/java/com/button/controller/UserController.java
create mode 100644 springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
create mode 100644 springboot-knife4j/src/main/resources/application.yml
create mode 100644 springboot-knife4j/src/test/java/com/button/SpringbootKnife4jApplicationTests.java
diff --git a/springboot-knife4j/.gitignore b/springboot-knife4j/.gitignore
new file mode 100644
index 0000000..a2a3040
--- /dev/null
+++ b/springboot-knife4j/.gitignore
@@ -0,0 +1,31 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/springboot-knife4j/README.md b/springboot-knife4j/README.md
new file mode 100644
index 0000000..717c860
--- /dev/null
+++ b/springboot-knife4j/README.md
@@ -0,0 +1,3 @@
+# Spring Boot整合Knife4j
+
+http://localhost:8080/doc.html
\ No newline at end of file
diff --git a/springboot-knife4j/pom.xml b/springboot-knife4j/pom.xml
new file mode 100644
index 0000000..95aa979
--- /dev/null
+++ b/springboot-knife4j/pom.xml
@@ -0,0 +1,96 @@
+
+
+ 4.0.0
+ com.button
+ springboot-knife4j
+ 0.0.1-SNAPSHOT
+ springboot-knife4j
+ Spring Boot Knife4j
+
+
+ 1.8
+ UTF-8
+ UTF-8
+ 2.3.7.RELEASE
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+ com.github.xiaoymin
+ knife4j-spring-boot-starter
+ 3.0.2
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.3.7.RELEASE
+
+ com.button.SpringbootKnife4jApplication
+
+
+
+ repackage
+
+ repackage
+
+
+
+
+
+
+
+
diff --git a/springboot-knife4j/src/main/java/com/button/SpringbootKnife4jApplication.java b/springboot-knife4j/src/main/java/com/button/SpringbootKnife4jApplication.java
new file mode 100644
index 0000000..33429c3
--- /dev/null
+++ b/springboot-knife4j/src/main/java/com/button/SpringbootKnife4jApplication.java
@@ -0,0 +1,13 @@
+package com.button;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringbootKnife4jApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringbootKnife4jApplication.class, args);
+ }
+
+}
diff --git a/springboot-knife4j/src/main/java/com/button/config/Swagger2Config.java b/springboot-knife4j/src/main/java/com/button/config/Swagger2Config.java
new file mode 100644
index 0000000..a5f9281
--- /dev/null
+++ b/springboot-knife4j/src/main/java/com/button/config/Swagger2Config.java
@@ -0,0 +1,38 @@
+package com.button.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.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+@EnableKnife4j
+public class Swagger2Config {
+ @Bean
+ public Docket createRestApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .useDefaultResponseMessages(false)
+ .apiInfo(apiInfo())
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("com.button.controller"))
+ .paths(PathSelectors.any())
+ .build();
+
+ }
+
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("springboot整合Knife4j")
+ .description("springboot整合Knife4j")
+ .termsOfServiceUrl("http://localhost:8080/")
+ .version("1.0")
+ .build();
+ }
+}
diff --git a/springboot-knife4j/src/main/java/com/button/controller/UserController.java b/springboot-knife4j/src/main/java/com/button/controller/UserController.java
new file mode 100644
index 0000000..3a7cef0
--- /dev/null
+++ b/springboot-knife4j/src/main/java/com/button/controller/UserController.java
@@ -0,0 +1,23 @@
+package com.button.controller;
+
+import com.button.domain.vo.ResultData;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.UUID;
+
+@Slf4j
+@RequestMapping("/user")
+@RestController
+public class UserController {
+
+ @ApiOperation(value = "用户登录测试接口", notes = "用户登录试接口000")
+ @PostMapping("login")
+ public ResultData login(@RequestParam String userName, @RequestParam String passWord){
+ return ResultData.success(userName + "," + passWord);
+ }
+
+}
diff --git a/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java b/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
new file mode 100644
index 0000000..40ee386
--- /dev/null
+++ b/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
@@ -0,0 +1,99 @@
+package com.button.domain.vo;
+
+import java.io.Serializable;
+
+public class ResultData implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ public static final ErrorMsg SUCCESS = new ErrorMsg("success", "操作成功");
+ public static final ErrorMsg EXCEPTION = new ErrorMsg("exception", "系统忙,请稍后重试");
+ public static final ErrorMsg REQUEST_FAILED = new ErrorMsg("request.failed", "网络请求异常");
+ public static final ErrorMsg ERROR_NO_DATA = new ErrorMsg("error.no.data", "无数据");
+
+ private ErrorMsg errorMsg;
+ private T data;
+ private Integer time;
+
+ public static ResultData success(T data) {
+ ResultData result = new ResultData();
+ result.setErrorMsg(SUCCESS);
+ result.setData(data);
+ result.setTime((int)(System.currentTimeMillis() / 1000));
+ return result;
+ }
+
+ public static ResultData error(ErrorMsg error) {
+ ResultData result = new ResultData();
+ result.setErrorMsg(error);
+ return result;
+ }
+
+ public Integer getTime() {
+ return time;
+ }
+
+ public void setTime(Integer time) {
+ this.time = time;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
+
+ public ErrorMsg getErrorMsg() {
+ return errorMsg;
+ }
+
+ public void setErrorMsg(ErrorMsg errorMsg) {
+ this.errorMsg = errorMsg;
+ }
+
+ public boolean isSuccessful() {
+ return SUCCESS.getCode().equals(this.errorMsg.getCode());
+ }
+
+ public boolean errorFor(ErrorMsg errMsg) {
+ return this.errorMsg.getCode().equalsIgnoreCase(errMsg.getCode());
+ }
+
+ public static class ErrorMsg implements Serializable {
+ private static final long serialVersionUID = -8899306544168830547L;
+ private String code;
+ private String message;
+
+ public ErrorMsg(String code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public ErrorMsg setParam(String key, String value) {
+ return new ErrorMsg(this.code, this.message.replace(key, value));
+ }
+
+ public ErrorMsg withParam(String value) {
+ return setParam("PARA_NAME", value);
+ }
+
+ @Override
+ public String toString() {
+ return "[code=" + code + ", message=" + message + "]";
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "[errorMsg=" + errorMsg + ", data=" + data + "]";
+ }
+}
diff --git a/springboot-knife4j/src/main/resources/application.yml b/springboot-knife4j/src/main/resources/application.yml
new file mode 100644
index 0000000..89fdb2e
--- /dev/null
+++ b/springboot-knife4j/src/main/resources/application.yml
@@ -0,0 +1,9 @@
+# 应用名称
+spring:
+ application:
+ name: springboot-knife4j
+# 应用服务 WEB 访问端口
+server:
+ port: 8080
+
+
diff --git a/springboot-knife4j/src/test/java/com/button/SpringbootKnife4jApplicationTests.java b/springboot-knife4j/src/test/java/com/button/SpringbootKnife4jApplicationTests.java
new file mode 100644
index 0000000..e94b15a
--- /dev/null
+++ b/springboot-knife4j/src/test/java/com/button/SpringbootKnife4jApplicationTests.java
@@ -0,0 +1,13 @@
+package com.button;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class SpringbootKnife4jApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
--
Gitee
From 35be0bbb8bae5dbb1e34bcaed944889268333660 Mon Sep 17 00:00:00 2001
From: Button <2740277548@qq.com>
Date: Sun, 18 Apr 2021 19:05:33 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index da451f0..5aac198 100644
--- a/README.md
+++ b/README.md
@@ -27,4 +27,6 @@ SpringBoot应用集合
- [SpringBoot整合netty](https://gitee.com/superbutton/SpringBoot-Components/tree/develop/Springboot-Netty-Parent)
- [SpringBoot整合webservice](https://gitee.com/superbutton/SpringBoot-Components/tree/develop/Springboot-Webservice)
- [SpringBoot整合ActiveMq](https://gitee.com/superbutton/SpringBoot-Components/tree/develop/Springboot-ActiveMq)
+- [SpringBoot整合Knife4j](https://gitee.com/superbutton/SpringBoot-Components/tree/develop/springboot-knife4j)
+
--
Gitee
From bdd70254290c7b60fb6ae44dba1ded15fb6cb34e Mon Sep 17 00:00:00 2001
From: Button <2740277548@qq.com>
Date: Sun, 18 Apr 2021 19:18:59 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/button/controller/UserController.java | 11 +++++++++--
.../main/java/com/button/domain/vo/ResultData.java | 3 +++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/springboot-knife4j/src/main/java/com/button/controller/UserController.java b/springboot-knife4j/src/main/java/com/button/controller/UserController.java
index 3a7cef0..b44b96d 100644
--- a/springboot-knife4j/src/main/java/com/button/controller/UserController.java
+++ b/springboot-knife4j/src/main/java/com/button/controller/UserController.java
@@ -1,9 +1,11 @@
package com.button.controller;
+import com.button.domain.bean.User;
import com.button.domain.vo.ResultData;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -14,10 +16,15 @@ import java.util.UUID;
@RestController
public class UserController {
- @ApiOperation(value = "用户登录测试接口", notes = "用户登录试接口000")
- @PostMapping("login")
+ @ApiOperation(value = "用户登录测试接口", notes = "用户登录接口")
+ @GetMapping("login")
public ResultData login(@RequestParam String userName, @RequestParam String passWord){
return ResultData.success(userName + "," + passWord);
}
+ @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
+ @PostMapping("userInfo")
+ public ResultData userInfo(@RequestBody User user){
+ return ResultData.success(user);
+ }
}
diff --git a/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java b/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
index 40ee386..1c5001d 100644
--- a/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
+++ b/springboot-knife4j/src/main/java/com/button/domain/vo/ResultData.java
@@ -2,6 +2,9 @@ package com.button.domain.vo;
import java.io.Serializable;
+/**
+ * @author Button
+ */
public class ResultData implements Serializable {
private static final long serialVersionUID = 1L;
--
Gitee