12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package com.rf.kjb.config;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import springfox.documentation.builders.RequestHandlerSelectors;
- import springfox.documentation.oas.annotations.EnableOpenApi;
- 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;
- /**
- * Description: Swagger3+knife4j Config
- *
- * @author: zzf
- * @date: 2022-07-28
- */
- @Configuration
- @EnableOpenApi
- public class Swagger3Config {
- @Value("${swagger.enabled}")
- Boolean swaggerEnabled;
- @Bean
- public Docket docket() {
- return new Docket(DocumentationType.OAS_30)
- .apiInfo(apiInfo())
- // 是否开启swagger
- .enable(swaggerEnabled)
- .select()
- // 过滤条件,扫描指定路径下的文件
- .apis(RequestHandlerSelectors.basePackage("com.rf.kjb"))
- // 指定路径处理,PathSelectors.any()代表不过滤任何路径
- //.paths(PathSelectors.any())
- .build()
- .securitySchemes(securitySchemes())
- .securityContexts(tokenContext());
- }
- private List<SecurityContext> tokenContext() {
- List<SecurityContext> list = new ArrayList<>();
- list.add(SecurityContext.builder()
- .securityReferences(securityReferences())
- .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
- .build());
- return list;
- }
- public List<SecurityReference> securityReferences(){
- List<SecurityReference> list = new ArrayList<>();
- list.add( SecurityReference.builder()
- .scopes(new AuthorizationScope[0])
- .reference("Authorization")
- .build());
- return list;
- }
- private List<SecurityScheme> securitySchemes() {
- List<SecurityScheme> list = new ArrayList<>();
- list.add(HttpAuthenticationScheme.JWT_BEARER_BUILDER.name("Authorization").build());
- return list;
- }
- private ApiInfo apiInfo() {
- /*作者信息*/
- Contact contact = new Contact("", "", "");
- return new ApiInfo(
- "KJB接口文档",
- "KJB V1.0 测试接口文档",
- "v1.0",
- "",
- contact,
- "Apache 2.0",
- "http://www.apache.org/licenses/LICENSE-2.0",
- new ArrayList<>()
- );
- }
- }
|