文章目录
- 前言
- 配置步骤
- 使用步骤
- 总结
前言
使用Swagger只需要按照规范去定义接口及接口的相关信息,就可以做到生成接口文档和在线接口调试页面
官网:Swagger官网
Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案
配置步骤
1.导入knife4j的maven坐标(测试需要导入web依赖哦~)
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
2.再配置类中加入knife4j相关配置
3.设置静态资源映射,否则接口文档页面无法访问
package com.config;
import com.sky.interceptor.JwtTokenAdminInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
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;
/**
* 配置类,注册web层相关组件
*/
@Configuration
@Slf4j //日志门面
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
* 通过knife4j生成接口文档
* 我这里提供了日志功能,不需要的可以删除
* 这里是第二步
*/
@Bean
public Docket docket() {
log.info("开始注册knife4j接口文档..."); //输出日志
ApiInfo apiInfo = new ApiInfoBuilder()
.title("XXX接口文档")
.version("XXX")
.description("XXX接口文档")
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
//扫描规则,当前包及其子包
.apis(RequestHandlerSelectors.basePackage("扫描包的路径名"))
.paths(PathSelectors.any())
.build();
return docket;
}
/**
* 设置静态资源映射
* 这里是第三步,设置访问页面
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("开始注册静态资源映射...");
//在这里配置访问页面,不修改访问路径为:localhost:8080/doc.html
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
4.访问localhost:8080/doc.html,即可访问成功
—
使用步骤
使用Swagger只需要再类上添加注解即可
可以添加这些注解,为里面的属性赋值,得到的页面会有信息提示,提高可读性
总结
本文我们学会了如何配置Swagger来对后端接口进行测试,其中配置的代码不需要会写,只需要更改为自己的即可