获得技能
- 掌握SpringBoot集成Swagger技能
- 掌握Swagger调试Web应用技能
本节对应教学视频
SpringBoot从入门到精通 SSM/MyBatis/Redis/KafKa/SpringCloudke.qq.com![v2-b51b2e914283b47e6284d0edd7efcd6e_180x120.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=59587ff5-0c2f-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-b51b2e914283b47e6284d0edd7efcd6e_180x120.jpg)
知识要点
- 使用@EnableSwagger2注解打开Swagger
- 使用SwaggerUI调试Web应用
Swagger是一个非常方便的文档和测试工具,Swagger两大核心
springfox-swagger2
核心springfox-swagger-ui
UI工具方便显示
上机实验
Swagger集成到SpringBoot,并使用UI调试Web接口
核心步骤如下
- 引入Swagger依赖
- 使用@EnableSwagger2注解,新增SpringBoot配置类
- 浏览器打开SwaggerUi地址调试Web接口
引入Swagger依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
使用@EnableSwagger2注解,新增SpringBoot配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
浏览器打开SwaggerUi地址调试Web接口
#11000代表SpringBoot的端口 http://localhost:11000/v2/api-docs http://localhost:11000/swagger-ui.html
![v2-321a3b140699f7a66ca7d25e07e4fb25_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=59587ff5-0c2f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-321a3b140699f7a66ca7d25e07e4fb25_b.jpg)
扩展资料
Swagger 静态文件放行
package com.fencaibc.springboot.edu;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
/**
* 作者 粉菜编程学院
* 微信公众号 fencaibc
* QQ号 2321484518
**/
@Configuration
@EnableWebMvc
public class FreeMarkerConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//过滤swagger
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
registry.addResourceHandler("/swagger-resources/**")
.addResourceLocations("classpath:/META-INF/resources/swagger-resources/");
registry.addResourceHandler("/swagger/**")
.addResourceLocations("classpath:/META-INF/resources/swagger*");
registry.addResourceHandler("/v2/api-docs/**")
.addResourceLocations("classpath:/META-INF/resources/v2/api-docs/");
}
}