配置信息
<properties>
<swagger2.version>2.9.2</swagger2.version>
</properties>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
</dependencies>
在springBoot启动类中配置swagger
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import springfox.documentation.annotations.ApiIgnore;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public Docket createPcApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo("接口文档")).select()
.apis(RequestHandlerSelectors.any()).paths(PathSelectors.any())
// .paths(Predicates.not(PathSelectors.regex("/error.*")))
.build().groupName("1.所有接口")
.ignoredParameterTypes(ApiIgnore.class);
}
/**
* APP接口
*/
@Bean
public Docket createMobileApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo("APP接口文档(移动应用商店android和iOS及部分html5页面接口)")).select()
.apis(RequestHandlerSelectors.any()).paths(PathSelectors.ant("/api/**"))
.build().groupName("2.APP接口文档").ignoredParameterTypes(ApiIgnore.class);
}
/**
* ApiInfo
*/
private ApiInfo apiInfo(String title) {
return new ApiInfoBuilder().title(title).version("1.0").build();
}
}
启动项目,在地址栏输入访问地址http://localhost:8080/swagger-ui.html 即可以访问接口
代码中注释的那一行是控制图中标(3)的默认错误接口的,可以将其隐藏。
代码中的每一个Bean是控制图中(2)的,可以根据访问层的路径将接口分类