| | |
| | | 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() { |