From 8f6484e47085fde953e4e7c725da6fa56228322b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 12 一月 2022 21:22:26 +0800 Subject: [PATCH] [重磅更新] 重写项目整体结构 数据处理下沉至 Mapper 符合 MVC 规范 减少循环依赖 --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java | 83 ++++++++++++++++++++++------------------- 1 files changed, 44 insertions(+), 39 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java index 4da3b99..29d79d1 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java @@ -1,6 +1,7 @@ package com.ruoyi.framework.config; import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; import com.ruoyi.common.properties.TokenProperties; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; @@ -33,36 +34,40 @@ private SwaggerProperties swaggerProperties; @Autowired - private TokenProperties tokenProperties; + private TokenProperties tokenProperties; + + @Autowired + private OpenApiExtensionResolver openApiExtensionResolver; /** * 鍒涘缓API */ @PostConstruct public void createRestApi() { - for (SwaggerProperties.Groups group : swaggerProperties.getGroups()) { - String basePackage = group.getBasePackage(); - Docket docket = new Docket(DocumentationType.OAS_30) - .enable(swaggerProperties.getEnabled()) - // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛� - .apiInfo(apiInfo()) - // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず - .select() - // 鎵弿鎵�鏈夋湁娉ㄨВ鐨刟pi锛岀敤杩欑鏂瑰紡鏇寸伒娲� - //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) - // 鎵弿鎸囧畾鍖呬腑鐨剆wagger娉ㄨВ - .apis(RequestHandlerSelectors.basePackage(basePackage)) - // 鎵弿鎵�鏈� .apis(RequestHandlerSelectors.any()) - .paths(PathSelectors.any()) - .build() - .groupName(group.getName()) - // 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token - .securitySchemes(securitySchemes()) - .securityContexts(securityContexts()) - .pathMapping(swaggerProperties.getPathMapping()); - String beanName = StringUtils.substringAfterLast(basePackage, ".") + "Docket"; - SpringUtils.registerBean(beanName, docket); - } + for (SwaggerProperties.Groups group : swaggerProperties.getGroups()) { + String basePackage = group.getBasePackage(); + Docket docket = new Docket(DocumentationType.OAS_30) + .enable(swaggerProperties.getEnabled()) + // 鐢ㄦ潵鍒涘缓璇PI鐨勫熀鏈俊鎭紝灞曠ず鍦ㄦ枃妗g殑椤甸潰涓紙鑷畾涔夊睍绀虹殑淇℃伅锛� + .apiInfo(apiInfo()) + // 璁剧疆鍝簺鎺ュ彛鏆撮湶缁橲wagger灞曠ず + .select() + // 鎵弿鎵�鏈夋湁娉ㄨВ鐨刟pi锛岀敤杩欑鏂瑰紡鏇寸伒娲� + //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + // 鎵弿鎸囧畾鍖呬腑鐨剆wagger娉ㄨВ + .apis(RequestHandlerSelectors.basePackage(basePackage)) + // 鎵弿鎵�鏈� .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()) + .build() + .groupName(group.getName()) + // 璁剧疆瀹夊叏妯″紡锛宻wagger鍙互璁剧疆璁块棶token + .securitySchemes(securitySchemes()) + .securityContexts(securityContexts()) + .extensions(openApiExtensionResolver.buildExtensions(group.getName())) + .pathMapping(swaggerProperties.getPathMapping()); + String beanName = StringUtils.substringAfterLast(basePackage, ".") + "Docket"; + SpringUtils.registerBean(beanName, docket); + } } /** @@ -70,8 +75,8 @@ */ private List<SecurityScheme> securitySchemes() { List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); - String header = tokenProperties.getHeader(); - apiKeyList.add(new ApiKey(header, header, In.HEADER.toValue())); + String header = tokenProperties.getHeader(); + apiKeyList.add(new ApiKey(header, header, In.HEADER.toValue())); return apiKeyList; } @@ -81,10 +86,10 @@ private List<SecurityContext> securityContexts() { List<SecurityContext> securityContexts = new ArrayList<>(); securityContexts.add( - SecurityContext.builder() - .securityReferences(defaultAuth()) - .operationSelector(o -> o.requestMappingPattern().matches("/.*")) - .build()); + SecurityContext.builder() + .securityReferences(defaultAuth()) + .operationSelector(o -> o.requestMappingPattern().matches("/.*")) + .build()); return securityContexts; } @@ -107,14 +112,14 @@ // 鐢ˋpiInfoBuilder杩涜瀹氬埗 SwaggerProperties.Contact contact = swaggerProperties.getContact(); return new ApiInfoBuilder() - // 璁剧疆鏍囬 - .title(swaggerProperties.getTitle()) - // 鎻忚堪 - .description(swaggerProperties.getDescription()) - // 浣滆�呬俊鎭� - .contact(new Contact(contact.getName(), contact.getUrl(), contact.getEmail())) - // 鐗堟湰 - .version(swaggerProperties.getVersion()) - .build(); + // 璁剧疆鏍囬 + .title(swaggerProperties.getTitle()) + // 鎻忚堪 + .description(swaggerProperties.getDescription()) + // 浣滆�呬俊鎭� + .contact(new Contact(contact.getName(), contact.getUrl(), contact.getEmail())) + // 鐗堟湰 + .version(swaggerProperties.getVersion()) + .build(); } } -- Gitblit v1.9.3