From 22b09535afd36b76564a6b32a6fd6c7d967d1db4 Mon Sep 17 00:00:00 2001
From: Sxile <3440626@qq.com>
Date: 星期五, 17 七月 2020 11:11:03 +0800
Subject: [PATCH] 修复param参数名称
---
ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java | 64 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java b/ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
index a2da4e8..9692685 100644
--- a/ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
+++ b/ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
@@ -1,6 +1,9 @@
package com.ruoyi.framework.config;
+import java.util.ArrayList;
+import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.swagger.annotations.ApiOperation;
@@ -8,8 +11,12 @@
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.ApiKey;
+import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact;
+import springfox.documentation.service.SecurityReference;
import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@@ -26,6 +33,14 @@
@Autowired
private RuoYiConfig ruoyiConfig;
+ /** 是否开启swagger */
+ @Value("${swagger.enabled}")
+ private boolean enabled;
+
+ /** 设置请求的统一前缀 */
+ @Value("${swagger.pathMapping}")
+ private String pathMapping;
+
/**
* 创建API
*/
@@ -33,6 +48,8 @@
public Docket createRestApi()
{
return new Docket(DocumentationType.SWAGGER_2)
+ // 是否启用Swagger
+ .enable(enabled)
// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
@@ -40,10 +57,51 @@
// 扫描所有有注解的api,用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
- //.apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
+ // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
- .build();
+ .build()
+ /* 设置安全模式,swagger可以设置访问token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts())
+ .pathMapping(pathMapping);
+ }
+
+ /**
+ * 安全模式,这里指定token通过Authorization头请求头传递
+ */
+ private List<ApiKey> securitySchemes()
+ {
+ List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
+ apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
+ return apiKeyList;
+ }
+
+ /**
+ * 安全上下文
+ */
+ private List<SecurityContext> securityContexts()
+ {
+ List<SecurityContext> securityContexts = new ArrayList<>();
+ securityContexts.add(
+ SecurityContext.builder()
+ .securityReferences(defaultAuth())
+ .forPaths(PathSelectors.regex("^(?!auth).*$"))
+ .build());
+ return securityContexts;
+ }
+
+ /**
+ * 默认的安全上引用
+ */
+ private List<SecurityReference> defaultAuth()
+ {
+ AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
+ authorizationScopes[0] = authorizationScope;
+ List<SecurityReference> securityReferences = new ArrayList<>();
+ securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
+ return securityReferences;
}
/**
@@ -54,7 +112,7 @@
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
- .title("标题:余心管理系统_接口文档")
+ .title("标题:若依管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息
--
Gitblit v1.9.2