1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package com.qmth.themis.admin.config;
- import com.google.common.base.Predicates;
- import com.qmth.themis.business.constant.SystemConstant;
- import com.qmth.themis.common.contanst.Constants;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import springfox.documentation.builders.ParameterBuilder;
- import springfox.documentation.builders.PathSelectors;
- import springfox.documentation.builders.RequestHandlerSelectors;
- import springfox.documentation.schema.ModelRef;
- import springfox.documentation.service.ApiInfo;
- import springfox.documentation.service.Parameter;
- import springfox.documentation.spi.DocumentationType;
- import springfox.documentation.spring.web.plugins.Docket;
- import springfox.documentation.swagger2.annotations.EnableSwagger2;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @Description: swagger配置类
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2019/9/21
- */
- @Configuration
- @EnableSwagger2
- public class SwaggerConfig {
- @Bean
- public Docket createRestApi() {
- ParameterBuilder tokenPar = new ParameterBuilder();
- ParameterBuilder tokenPar1 = new ParameterBuilder();
- ParameterBuilder tokenPar2 = new ParameterBuilder();
- ParameterBuilder tokenPar3 = new ParameterBuilder();
- List<Parameter> pars = new ArrayList<>();
- tokenPar.name(Constants.HEADER_PLATFORM).description("平台").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
- tokenPar1.name(Constants.HEADER_DEVICE_ID).description("设备id").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
- tokenPar2.name(Constants.HEADER_AUTHORIZATION).description("鉴权token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
- tokenPar3.name(Constants.HEADER_TIME).description("时间戳").modelRef(new ModelRef("long")).parameterType("header").required(false).build();
- pars.add(tokenPar.build());
- pars.add(tokenPar1.build());
- pars.add(tokenPar2.build());
- pars.add(tokenPar3.build());
- return new Docket(DocumentationType.SWAGGER_2)
- .groupName("themis-admin")
- .select()
- .apis(RequestHandlerSelectors.basePackage("com.qmth.themis.admin"))
- // .apis(RequestHandlerSelectors.any())
- .paths(PathSelectors.any())
- // 不显示错误的接口地址
- .paths(Predicates.not(PathSelectors.regex("/error.*")))// 错误路径不监控
- .build()
- .globalOperationParameters(pars)
- .apiInfo(apiInfo());
- }
- private ApiInfo apiInfo() {
- ApiInfo apiInfo = new ApiInfo(
- "在线考试平台-后台管理 - api",
- "Some custom description of API.",
- "API TOS",
- "Terms of service",
- "myeaddress@company.com",
- "License of API",
- "API license URL");
- return apiInfo;
- }
- }
-
|