package com.yssh.config; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Value; 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.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; @Configuration @EnableKnife4j public class Knife4jConfig { @Value("${knife4j.enabled}") private boolean enabled; @Value("${knife4j.pathMapping}") private String pathMapping; @Bean public Docket createRestApi() { return new Docket(new DocumentationType("openApi", "3.0")) // 是否启用Swagger .enable(enabled) // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) .apiInfo(apiInfo()) // 分组名称 .groupName("服务") // 设置哪些接口暴露给Swagger展示 .select() // 扫描所有有注解的api,用这种方式更灵活 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // 扫描指定包中的swagger注解 // .apis(RequestHandlerSelectors.basePackage("com.cn.project.tool.swagger")) // 扫描所有 .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build() /* 设置安全模式,swagger可以设置访问token */ // .securitySchemes(securitySchemes()) .pathMapping(pathMapping); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .description("我的接口测试文档") .contact(new Contact("张腾飞", "http://127.0.0.1:9001/doc.html", "893732661@qq.com")) .version("2.0.0") .title("燕山石化API接口测试文档") .build(); } }