1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package com.zoniot.readingmeter.config;
- import org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController;
- 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.ApiInfo;
- import springfox.documentation.service.ApiKey;
- import springfox.documentation.service.AuthorizationScope;
- 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;
- import java.util.List;
- import static com.google.common.collect.Lists.newArrayList;
- @Configuration
- @EnableSwagger2
- public class SwaggerConfig {
- @Bean
- public Docket api() {
- return new Docket(DocumentationType.SWAGGER_2)
- .ignoredParameterTypes(BasicErrorController.class)
- .groupName("web")
- .select()
- .apis(RequestHandlerSelectors.any())
- .paths(PathSelectors.any())
- .build()
- .apiInfo(apiInfo())
- .securitySchemes(securitySchemes())
- .securityContexts(securityContexts());
- }
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder()
- .title("接口文档Api")
- .build();
- }
- private List<ApiKey> securitySchemes() {
- return newArrayList(
- new ApiKey("Authorization", "Authorization", "header"));
- }
- private List<SecurityContext> securityContexts() {
- return newArrayList(
- SecurityContext.builder()
- .securityReferences(defaultAuth())
- .forPaths(PathSelectors.regex("^(?!auth).*$"))
- .build()
- );
- }
- List<SecurityReference> defaultAuth() {
- AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
- AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
- authorizationScopes[0] = authorizationScope;
- return newArrayList(
- new SecurityReference("Authorization", authorizationScopes));
- }
- }
|