一、引入swagger依赖
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
二、编写swagger.config配置类,
在配置类上加上@Configuration @EnableSwagger2注解。注意此处有坑.paths(Predicates.not(PathSelectors.regex("/admin/.*"))代码意思是/admin/.**路径下的接口都不会生成接口文档,如果有Admin开头的路径,需要注释掉这段代码。否则swagger生成不了admin路径下的接口文档。
@Configuration
@EnableSwagger2//开启swagger配置
public class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
//.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
//除了错误的路径,其它controller接口都生成
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定义")
.version("1.0")
.contact(new Contact("Helen", "http://atguigu.com",
"55317332@qq.com"))
.build();
}
}
三、配置启动类
启动类上面加上@CompentScan注解,扫描controller接口,启动类启动时会扫描本包以及子包下所有的bean,并加入到ioc容器中。
@SpringBootApplication
@MapperScan("com.atguigu.eduservice.mapper")//扫描mapper层,与数据库打交道
@ComponentScan(basePackages = {"com.atguigu"})//可以扫描所有bean层,如controller、service等
public class EduApplication {
public static void main(String[] args) {
SpringApplication.run(EduApplication.class);
}
}
四、访问swagger的默认页面 localhost:8001/swagger-ui.html