123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.honter.config;
- import com.google.common.base.Predicates;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import springfox.documentation.builders.ApiInfoBuilder;
- 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.Contact;
- 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;
- /**
- * @Author: hongtao li
- * @email: yong.wang@alldobetter.com,nothingnull@foxmail.com
- * @since: 2018/2/12 14:34.
- */
- @Configuration
- public class Swagger2Config {
- @Bean
- public Docket api() {
- //可以添加多个header或参数
- ParameterBuilder aParameterBuilder = new ParameterBuilder();
- aParameterBuilder
- .parameterType("header") //参数类型支持header, cookie, body, query etc
- .name("Authorization") //参数名
- .defaultValue("Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJkYXRlXCI6MTU1MzI0NDAxOTcwOCxcInVzZXJuYW1lXCI6XCIxMjExMVwifSIsImV4cCI6OTAwMDAwMTU1MzI0NDAxOSwiaWF0IjoxNTUzMjQ0MDE5fQ.iiO_WT2uPXrNpzNIPjYhjbYfFLrswah7VrVaXLJLAXJHe451FdB00J1u7ElucAgyC3g_VnkAwz_w8oNBXfgFmQ") //默认值
- .description("header中测试token字段")
- .modelRef(new ModelRef("string"))//指定参数值的类型
- .required(false).build(); //非必需,这里是全局配置,然而在登陆的时候是不用验证的
- List<Parameter> aParameters = new ArrayList<>();
- aParameters.add(aParameterBuilder.build());
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(apiInfo())
- .pathMapping("/")
- .select() // 选择那些路径和api会生成document
- .apis(RequestHandlerSelectors.any())// 对所有api进行监控
- //不显示错误的接口地址
- .paths(Predicates.not(PathSelectors.regex("/error.*")))//错误路径不监控
- .paths(PathSelectors.regex("/.*"))// 对根下所有路径进行监控
- .build().globalOperationParameters(aParameters);
- }
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder().title("这是我的接口文档")
- .version("v1.0")
- .build();
- }
- }
|