首页>代码>基于 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(); } }
最近下载更多
dapeng0011 LV12
3月2日
微信网友_6873044563791872 LV1
2月19日
肸乯 LV8
1月31日
xiexiaoming05 LV14
1月26日
siximu912 LV10
1月23日
zhangwuxuan
2023年12月31日
暂无贡献等级
Jingbo Jia LV2
2023年12月9日
1515465193 LV9
2023年11月30日
wuying8208 LV15
2023年11月28日
唐唐丶 LV33
2023年11月20日
最近浏览更多
赵文俊
3月16日
暂无贡献等级
ChenZheMeng LV3
3月9日
2771547747
3月6日
暂无贡献等级
小王wang LV10
2月29日
dapeng0011 LV12
2月26日
微信网友_6873044563791872 LV1
2月19日
1690356080 LV37
1月31日
肸乯 LV8
1月31日
wyyz5211314 LV4
1月26日
xiexiaoming05 LV14
1月26日