Swagger依赖包
<!-- Swagger依赖包 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
package com.fox.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
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 springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author
*/
@Configuration
@EnableSwagger2
@Profile("test") // todo 这个是分环境来访问的,test代表只能在测试环境访问swagger
public class SwaggerConfig {
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.fox.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://127.0.0.1:7021/你项目的上下文/doc.html
*
* @return
*/
private ApiInfo apiInfo() {
Contact contact = new Contact("name", "网址", "邮箱");
return new ApiInfoBuilder()
.title("标题")
.description("描述")
.termsOfServiceUrl("http://127.0.0.1:7021/你项目的上下文/doc.html")
.contact(contact)
.version("1.0")
.build();
}
}
分环境访问问题,test是我的测试环境,大家根据实际情况来,而且这种只是接口文档不会加载,其他css还是会加载的,如果有其他硬性要求建议换方案来实现接口文档仅在测试环境访问