From ee064fa84c453602c99c092c9abfc700c2b29004 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?=
<15040126243@163.com>
Date: Sat, 15 May 2021 14:25:48 +0800
Subject: [PATCH] =?UTF-8?q?update=20swagger=E5=8D=87=E7=BA=A73.0.2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 15 +-
ruoyi-admin/pom.xml | 5 -
.../web/controller/tool/TestController.java | 166 ------------------
.../ruoyi/web/core/config/SwaggerConfig.java | 23 +--
ruoyi-common/pom.xml | 10 ++
ruoyi-demo/pom.xml | 5 -
6 files changed, 33 insertions(+), 191 deletions(-)
delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
diff --git a/pom.xml b/pom.xml
index 03e1b0af..edd86213 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,8 @@
1.8
3.1.1
1.2.4
- 2.0.8
+ 3.0.2
+ 1.5.22
1.2.75
4.1.2
1.7
@@ -56,6 +57,18 @@
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
+
+
+ swagger-annotations
+ io.swagger
+
+
+
+
+
+ io.swagger
+ swagger-annotations
+ ${swagger-annotations.version}
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 23fd60c0..e51c7dab 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -24,11 +24,6 @@
true
-
- com.github.xiaoymin
- knife4j-spring-boot-starter
-
-
mysql
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
deleted file mode 100644
index 3c5bf7c0..00000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.ruoyi.web.controller.tool;
-
-import cn.hutool.core.lang.Validator;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import io.swagger.annotations.*;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * swagger 用户测试方法
- *
- * @author ruoyi
- */
-@Api("用户信息管理")
-@RestController
-@RequestMapping("/test/user")
-public class TestController extends BaseController
-{
- private final static Map users = new LinkedHashMap();
- {
- users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
- users.put(2, new UserEntity(2, "ry", "admin123", "15666666666"));
- }
-
- @ApiOperation("获取用户列表")
- @GetMapping("/list")
- public AjaxResult userList()
- {
- List userList = new ArrayList(users.values());
- return AjaxResult.success(userList);
- }
-
- @ApiOperation("获取用户详细")
- @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
- @GetMapping("/{userId}")
- public AjaxResult getUser(@PathVariable Integer userId)
- {
- if (!users.isEmpty() && users.containsKey(userId))
- {
- return AjaxResult.success(users.get(userId));
- }
- else
- {
- return AjaxResult.error("用户不存在");
- }
- }
-
- @ApiOperation("新增用户")
- @ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
- @PostMapping("/save")
- public AjaxResult save(UserEntity user)
- {
- if (Validator.isNull(user) || Validator.isNull(user.getUserId()))
- {
- return AjaxResult.error("用户ID不能为空");
- }
- return AjaxResult.success(users.put(user.getUserId(), user));
- }
-
- @ApiOperation("更新用户")
- @ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
- @PutMapping("/update")
- public AjaxResult update(UserEntity user)
- {
- if (Validator.isNull(user) || Validator.isNull(user.getUserId()))
- {
- return AjaxResult.error("用户ID不能为空");
- }
- if (users.isEmpty() || !users.containsKey(user.getUserId()))
- {
- return AjaxResult.error("用户不存在");
- }
- users.remove(user.getUserId());
- return AjaxResult.success(users.put(user.getUserId(), user));
- }
-
- @ApiOperation("删除用户信息")
- @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
- @DeleteMapping("/{userId}")
- public AjaxResult delete(@PathVariable Integer userId)
- {
- if (!users.isEmpty() && users.containsKey(userId))
- {
- users.remove(userId);
- return AjaxResult.success();
- }
- else
- {
- return AjaxResult.error("用户不存在");
- }
- }
-}
-
-@ApiModel("用户实体")
-class UserEntity
-{
- @ApiModelProperty("用户ID")
- private Integer userId;
-
- @ApiModelProperty("用户名称")
- private String username;
-
- @ApiModelProperty("用户密码")
- private String password;
-
- @ApiModelProperty("用户手机")
- private String mobile;
-
- public UserEntity()
- {
-
- }
-
- public UserEntity(Integer userId, String username, String password, String mobile)
- {
- this.userId = userId;
- this.username = username;
- this.password = password;
- this.mobile = mobile;
- }
-
- public Integer getUserId()
- {
- return userId;
- }
-
- public void setUserId(Integer userId)
- {
- this.userId = userId;
- }
-
- public String getUsername()
- {
- return username;
- }
-
- public void setUsername(String username)
- {
- this.username = username;
- }
-
- public String getPassword()
- {
- return password;
- }
-
- public void setPassword(String password)
- {
- this.password = password;
- }
-
- public String getMobile()
- {
- return mobile;
- }
-
- public void setMobile(String mobile)
- {
- this.mobile = mobile;
- }
-}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
index 8a1b74be..39c7786e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -5,6 +5,8 @@ import com.ruoyi.common.config.RuoYiConfig;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
@@ -14,7 +16,7 @@ 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.EnableSwagger2WebMvc;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
@@ -25,8 +27,10 @@ import java.util.List;
* @author Lion Li
*/
@Configuration
-@EnableSwagger2WebMvc
+@EnableSwagger2
@EnableKnife4j
+@ConditionalOnClass({Docket.class, ApiInfoBuilder.class})
+@ConditionalOnProperty(prefix = "swagger", value = "enable", matchIfMissing = true)
public class SwaggerConfig {
/**
* 系统基础配置
@@ -34,12 +38,6 @@ public class SwaggerConfig {
@Autowired
private RuoYiConfig ruoyiConfig;
- /**
- * 是否开启swagger
- */
- @Value("${swagger.enabled}")
- private boolean enabled;
-
/**
* 设置请求的统一前缀
*/
@@ -70,8 +68,6 @@ public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
- // 是否启用Swagger
- .enable(enabled)
// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
@@ -85,15 +81,14 @@ public class SwaggerConfig {
.build()
/* 设置安全模式,swagger可以设置访问token */
.securitySchemes(securitySchemes())
- .securityContexts(securityContexts())
- .pathMapping(pathMapping);
+ .securityContexts(securityContexts());
}
/**
* 安全模式,这里指定token通过Authorization头请求头传递
*/
- private List securitySchemes() {
- List apiKeyList = new ArrayList();
+ private List securitySchemes() {
+ List apiKeyList = new ArrayList();
apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
return apiKeyList;
}
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index a18e8013..9ba4b2a3 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -131,6 +131,16 @@
spring-boot-admin-starter-client
+
+ com.github.xiaoymin
+ knife4j-spring-boot-starter
+
+
+
+ io.swagger
+ swagger-annotations
+
+
\ No newline at end of file
diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml
index 9789455e..49049244 100644
--- a/ruoyi-demo/pom.xml
+++ b/ruoyi-demo/pom.xml
@@ -23,11 +23,6 @@
ruoyi-common
-
- com.github.xiaoymin
- knife4j-spring-boot-starter
-
-
\ No newline at end of file