|  |  |  | 
|---|
|  |  |  | import org.springframework.context.annotation.Configuration; | 
|---|
|  |  |  | import org.springframework.util.ReflectionUtils; | 
|---|
|  |  |  | import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; | 
|---|
|  |  |  | import springfox.documentation.builders.*; | 
|---|
|  |  |  | import springfox.documentation.builders.ApiInfoBuilder; | 
|---|
|  |  |  | import springfox.documentation.builders.PathSelectors; | 
|---|
|  |  |  | import springfox.documentation.builders.RequestHandlerSelectors; | 
|---|
|  |  |  | import springfox.documentation.oas.annotations.EnableOpenApi; | 
|---|
|  |  |  | import springfox.documentation.schema.ScalarType; | 
|---|
|  |  |  | import springfox.documentation.service.*; | 
|---|
|  |  |  | import springfox.documentation.service.ApiInfo; | 
|---|
|  |  |  | import springfox.documentation.spi.DocumentationType; | 
|---|
|  |  |  | import springfox.documentation.spring.web.plugins.Docket; | 
|---|
|  |  |  | import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; | 
|---|
|  |  |  | import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.lang.reflect.Field; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public Docket docket() { | 
|---|
|  |  |  | Docket docket = new Docket(DocumentationType.OAS_30) | 
|---|
|  |  |  | .apiInfo(apiInfo()) | 
|---|
|  |  |  | .enable("dev".equals(active)) | 
|---|
|  |  |  | .groupName("测试分组") | 
|---|
|  |  |  | .enable(true) | 
|---|
|  |  |  | .select() | 
|---|
|  |  |  | //apis: 添加swagger接口提取范围 | 
|---|
|  |  |  | .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) | 
|---|
|  |  |  | .paths(PathSelectors.any()) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  | //                .globalRequestParameters(getGlobalRequestParameters()) | 
|---|
|  |  |  | //                .globalResponses(HttpMethod.GET, getGlobalResonseMessage()) | 
|---|
|  |  |  | //                .globalResponses(HttpMethod.POST, getGlobalResonseMessage()) | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return docket; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | .version("v1.0") | 
|---|
|  |  |  | .build(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //生成全局通用参数 | 
|---|
|  |  |  | private List<RequestParameter> getGlobalRequestParameters() { | 
|---|
|  |  |  | List<RequestParameter> parameters = new ArrayList<>(); | 
|---|
|  |  |  | parameters.add(new RequestParameterBuilder() | 
|---|
|  |  |  | .name("Authorization") | 
|---|
|  |  |  | .description("授权Token") | 
|---|
|  |  |  | .required(true) | 
|---|
|  |  |  | .in(ParameterType.QUERY) | 
|---|
|  |  |  | .query(q -> q.model(m -> m.scalarModel(ScalarType.STRING))) | 
|---|
|  |  |  | .required(false) | 
|---|
|  |  |  | .build()); | 
|---|
|  |  |  | return parameters; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //生成通用响应信息 | 
|---|
|  |  |  | private List<Response> getGlobalResonseMessage() { | 
|---|
|  |  |  | List<Response> responseList = new ArrayList<>(); | 
|---|
|  |  |  | responseList.add(new ResponseBuilder().code("430").description("please login first").build()); | 
|---|
|  |  |  | return responseList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Bean | 
|---|
|  |  |  | public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() { | 
|---|