首页>代码>基于 SpringBoot + vue 企业信息管理系统>/liawan-vue/liawan-admin/src/main/java/com/javapub/liawan/admin/config/SwaggerConfig.java
package com.javapub.liawan.admin.config; import com.javapub.liawan.common.config.LiaWanConfig; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; 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 springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; import java.util.ArrayList; import java.util.List; /** * Swagger2的接口配置 * * @author ruoyi */ @Configuration public class SwaggerConfig { /** * 系统基础配置 */ @Autowired private LiaWanConfig liaWanConfig; /** * 是否开启swagger */ @Value("${swagger.enabled}") private boolean enabled; /** * 设置请求的统一前缀 */ @Value("${swagger.pathMapping}") private String pathMapping; /** * 创建API */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.OAS_30) // 是否启用Swagger .enable(enabled) // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) .apiInfo(apiInfo()) // 设置哪些接口暴露给Swagger展示 .select() // 扫描所有有注解的api,用这种方式更灵活 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // 扫描指定包中的swagger注解 // .apis(RequestHandlerSelectors.basePackage("com.javapub.liawan.project.tool.swagger")) // 扫描所有 .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build() /* 设置安全模式,swagger可以设置访问token */ .securitySchemes(securitySchemes()) .securityContexts(securityContexts()) .pathMapping(pathMapping); } /** * 安全模式,这里指定token通过Authorization头请求头传递 */ private List<SecurityScheme> securitySchemes() { List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>(); apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue())); return apiKeyList; } /** * 安全上下文 */ private List<SecurityContext> securityContexts() { List<SecurityContext> securityContexts = new ArrayList<>(); securityContexts.add( SecurityContext.builder() .securityReferences(defaultAuth()) .operationSelector(o -> o.requestMappingPattern().matches("/.*")) .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; } /** * 添加摘要信息 */ private ApiInfo apiInfo() { // 用ApiInfoBuilder进行定制 return new ApiInfoBuilder() // 设置标题 .title("标题:俩万管理系统_接口文档") // 描述 .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") // 作者信息 .contact(new Contact(liaWanConfig.getName(), null, null)) // // 版本 .version("版本号:" + liaWanConfig.getVersion()) .build(); } }

qinzhifang LV1
3月15日
叶云浩 LV2
3月1日
zhangtian1997 LV10
2月5日
依旧原地徘徊 LV12
1月16日
ooosehun LV1
2024年12月18日
zolscy LV24
2024年11月27日
yangchengshuai LV15
2024年10月29日
mlml123 LV6
2024年8月20日
TY0165 LV20
2024年6月17日
vacalono LV1
2024年5月16日

feng0519
3月25日
暂无贡献等级
qinzhifang LV1
3月15日
叶云浩 LV2
3月1日
微信网友_7044194812350464 LV8
2月28日
微信网友_7371218154688512 LV4
2月5日
zhangtian1997 LV10
2月5日
f22m1a2b2 LV17
1月23日
2602275348 LV12
2024年12月26日
ooosehun LV1
2024年12月18日
11999333 LV1
2024年12月18日