From 3c57f468c69dbab5af75aae33de4f8db144fe729 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