首先,导入依赖:
<!-- 引入swagger包 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!-- 引入swagger-ui包,优化ui页面,可不加 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.8.5</version>
</dependency>
<!-- 添加knife4j依赖,可导出swagger离线文档,访问http://localhost:8080/doc.html地址可导出离线文档 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
然后,添加配置类
@Configuration
@EnableKnife4j
public class SwaggerConfig {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
//此目录下的类才会开启swagger文档
.apis(RequestHandlerSelectors.basePackage("com.localltallic.ningbo.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 文档基本信息
* @return
*/
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("高校社团管理系统API文档")
//创建人信息
.contact(new Contact("马孝通", "暂无", "mxt194910@163.com"))
.version("1.0")
.description("自己编写的系统")
.build();
}
}
然后,启动类上添加@EnableSwagger2注解,并在application.yml中添加配置:
# swagger文档配置,防止springboot和swagger版本冲突
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
#是否开启swagger文档,生产环境下要关闭
springfox:
documentation:
swagger-ui:
enabled: true
最后,就可以在业务中使用了