本项目基于SpringBoot-2.7,3作为基础环境,需要自己引入web、Lombok相关依赖
首先引入依赖,此依赖集成了swagger相关组件。需要实体类和控制层的pom环境都包含此依赖。
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
然后在config包下新建 WebMvcConfiguration类,对 swagger进行配置,如下:
/**
* 配置类,注册web层相关组件
*/
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
* 通过knife4j生成接口文档
* @return
*/
@Bean
public Docket docket() {
log.info("准备生成接口文档。。。");
ApiInfo apiInfo = new ApiInfoBuilder()
.title("苍穹外卖项目接口文档") //swagger展示标题
.version("1.0") //接口版本
.description("xx项目接口文档") //项目描述
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2) //指定swagger版本
.apiInfo(apiInfo)
.select()
//指定生成接口需要扫描的包
.apis(RequestHandlerSelectors.basePackage("xx.xx.controller")) //controller路径
.paths(PathSelectors.any())
.build();
return docket;
}
/**
* 设置静态资源映射
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("开始设置静态资源映射。。。");
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); //doc.html是swagger访问路径,生成接口文档后,文件都会生成在此路径下
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
然后在浏览器按照 路径加/doc.html 进行访问,如 localhost:8080/doc.html 即完成使用。
最后介绍一下 swagger 的常用注解,如下: