赞
踩
使用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来对后端接口进行测试,其中配置的代码不需要会写,只需要更改为自己的即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。