SpringBoot中如何使用Swagger接口文档
前言
Swagger
是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格
的Web服务
。
总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API
来始终保持同步。Swagger
让部署管理和使用功能强大的API
从未如此简单。
引入依赖
xml
1 | <dependency> |
创建Swagger配置类
java
1 | import org.springframework.context.annotation.Bean; |
访问测试
访问链接1:http://localhost:8080/swagger-ui.html
访问链接2:http://127.0.0.1:8080/swagger-ui/index.html
遇到的问题
问题1
Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
原因:Swagger停更,导致其默认配置下对于高版本的SpringBoot
的不兼容
- SpringBoot版本 >= 2.6.x默认匹配策略为
path-pattern-matcher
- SpringBoot版本 < 2.6.x默认匹配策略为
ant-path-matcher
- 解决方案1:降低SpringBoot版本
降低SpringBoot版本,SpringBoot版本<=2.5.6
xml1
2
3
4
5
6<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/>
</parent> - 解决方案2:修改匹配策略
在
application.yml
配置文件添加配置yml1
2
3
4spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher - 解决方案3:修改Swagger配置类
修改Swagger配置类,在
SwaggerConfig类
上加注解@EnableWebMvc
java1
2
3
4
5
6
public class SwaggerConfig {
......
}
关于Swagger的兼容问题
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 学弟不想努力了!
评论