From ee064fa84c453602c99c092c9abfc700c2b29004 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期六, 15 五月 2021 14:25:48 +0800 Subject: [PATCH] update swagger升级3.0.2 --- /dev/null | 166 ----------------------------------------- ruoyi-demo/pom.xml | 5 - ruoyi-admin/pom.xml | 5 - ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java | 23 ++--- pom.xml | 15 +++ ruoyi-common/pom.xml | 10 ++ 6 files changed, 33 insertions(+), 191 deletions(-) diff --git a/pom.xml b/pom.xml index 03e1b0a..edd8621 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,8 @@ <java.version>1.8</java.version> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> <druid.version>1.2.4</druid.version> - <knife4j.version>2.0.8</knife4j.version> + <knife4j.version>3.0.2</knife4j.version> + <swagger-annotations.version>1.5.22</swagger-annotations.version> <fastjson.version>1.2.75</fastjson.version> <poi.version>4.1.2</poi.version> <velocity.version>1.7</velocity.version> @@ -56,6 +57,18 @@ <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>${knife4j.version}</version> + <exclusions> + <exclusion> + <artifactId>swagger-annotations</artifactId> + <groupId>io.swagger</groupId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + <version>${swagger-annotations.version}</version> </dependency> <!-- excel宸ュ叿 --> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 23fd60c..e51c7da 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -24,11 +24,6 @@ <optional>true</optional> <!-- 琛ㄧず渚濊禆涓嶄細浼犻�� --> </dependency> - <dependency> - <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring-boot-starter</artifactId> - </dependency> - <!-- Mysql椹卞姩鍖� --> <dependency> <groupId>mysql</groupId> 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 3c5bf7c..0000000 --- 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<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>(); - { - 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<UserEntity> userList = new ArrayList<UserEntity>(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 8a1b74b..39c7786 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 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.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,20 +27,16 @@ * @author Lion Li */ @Configuration -@EnableSwagger2WebMvc +@EnableSwagger2 @EnableKnife4j +@ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) +@ConditionalOnProperty(prefix = "swagger", value = "enable", matchIfMissing = true) public class SwaggerConfig { /** * 绯荤粺鍩虹閰嶇疆 */ @Autowired private RuoYiConfig ruoyiConfig; - - /** - * 鏄惁寮�鍚痵wagger - */ - @Value("${swagger.enabled}") - private boolean enabled; /** * 璁剧疆璇锋眰鐨勭粺涓�鍓嶇紑 @@ -70,8 +68,6 @@ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) - // 鏄惁鍚敤Swagger - .enable(enabled) // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛� .apiInfo(apiInfo()) // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず @@ -85,15 +81,14 @@ .build() /* 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token */ .securitySchemes(securitySchemes()) - .securityContexts(securityContexts()) - .pathMapping(pathMapping); + .securityContexts(securityContexts()); } /** * 瀹夊叏妯″紡锛岃繖閲屾寚瀹歵oken閫氳繃Authorization澶磋姹傚ご浼犻�� */ - private List<ApiKey> securitySchemes() { - List<ApiKey> apiKeyList = new ArrayList<ApiKey>(); + private List<SecurityScheme> securitySchemes() { + List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); return apiKeyList; } diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index a18e801..9ba4b2a 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -131,6 +131,16 @@ <artifactId>spring-boot-admin-starter-client</artifactId> </dependency> + <dependency> + <groupId>com.github.xiaoymin</groupId> + <artifactId>knife4j-spring-boot-starter</artifactId> + </dependency> + + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + </dependency> + </dependencies> </project> \ No newline at end of file diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml index 9789455..4904924 100644 --- a/ruoyi-demo/pom.xml +++ b/ruoyi-demo/pom.xml @@ -23,11 +23,6 @@ <artifactId>ruoyi-common</artifactId> </dependency> - <dependency> - <groupId>com.github.xiaoymin</groupId> - <artifactId>knife4j-spring-boot-starter</artifactId> - </dependency> - </dependencies> </project> \ No newline at end of file -- Gitblit v1.9.3