fix 修复swagger开关无法控制关闭问题

This commit is contained in:
疯狂的狮子li 2021-05-17 16:36:07 +08:00
parent 5e32b5f0bf
commit eb12d7bd73
4 changed files with 124 additions and 98 deletions

21
.editorconfig Normal file
View File

@ -0,0 +1,21 @@
# http://editorconfig.org
root = true
# 空格替代Tab缩进在各种编辑工具下效果一致
[*]
indent_style = space
indent_size = 4
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
[*.java]
indent_style = tab
[*.{json,yml}]
indent_size = 2
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

View File

@ -193,6 +193,11 @@ swagger:
description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...'
# 版本
version: '版本号: ${ruoyi-vue-plus.version}'
# 作者信息
contact:
name: Lion Li
email: crazylionli@163.com
url: https://gitee.com/JavaLionLi/RuoYi-Vue-Plus
# 防止XSS攻击
xss:

View File

@ -1,12 +1,9 @@
package com.ruoyi.framework.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.framework.config.properties.SwaggerProperties;
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;
@ -29,32 +26,10 @@ import java.util.List;
@Configuration
@EnableSwagger2
@EnableKnife4j
@ConditionalOnClass({Docket.class, ApiInfoBuilder.class})
@ConditionalOnProperty(prefix = "swagger", value = "enable", matchIfMissing = true)
public class SwaggerConfig {
/**
* 系统基础配置
*/
@Autowired
private RuoYiConfig ruoyiConfig;
/**
* 标题
*/
@Value("${swagger.title}")
private String title;
/**
* 描述
*/
@Value("${swagger.description}")
private String description;
/**
* 版本
*/
@Value("${swagger.version}")
private String version;
private SwaggerProperties swaggerProperties;
/**
* 创建API
@ -62,6 +37,7 @@ public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.enable(swaggerProperties.getEnabled())
// 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
@ -117,15 +93,16 @@ public class SwaggerConfig {
*/
private ApiInfo apiInfo() {
// 用ApiInfoBuilder进行定制
SwaggerProperties.Contact contact = swaggerProperties.getContact();
return new ApiInfoBuilder()
// 设置标题
.title(title)
.title(swaggerProperties.getTitle())
// 描述
.description(description)
.description(swaggerProperties.getDescription())
// 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null))
.contact(new Contact(contact.getName(), contact.getUrl(), contact.getEmail()))
// 版本
.version(version)
.version(swaggerProperties.getVersion())
.build();
}
}

View File

@ -2,7 +2,6 @@ package com.ruoyi.framework.config.properties;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ -33,4 +32,28 @@ public class SwaggerProperties {
*/
private String version;
/**
* 联系方式
*/
private Contact contact;
@Data
@NoArgsConstructor
public static class Contact{
/**
* 联系人
**/
private String name;
/**
* 联系人url
**/
private String url;
/**
* 联系人email
**/
private String email;
}
}