SpringBoot 2.6集成Swagger 3.0教程:从入门到问题解决
需积分: 10 197 浏览量
更新于2024-08-05
收藏 1.06MB PDF 举报
Swagger学习笔记:深入理解Spring Boot整合Swagger 3.0
在现代的后端开发中,API文档的自动化管理和生成变得越来越重要,Swagger作为一款广泛使用的工具,能帮助开发者快速创建、管理和展示RESTful API文档。本文将带你逐步学习如何在最新的Spring Boot项目中集成Swagger 3.0,实现API的自动化文档和测试。
首先,你需要了解Swagger的基本概念。Swagger(以前称为Swagger UI)是一个开源工具,它提供了一个交互式的UI界面,允许开发者浏览和尝试他们的API接口。官方网址是<https://swagger.io/>,你可以在此获取最新文档和资源。
在集成Swagger到Spring Boot项目中,关键步骤如下:
1. 添加依赖:
在`pom.xml`或`build.gradle`中引入Springfox的Swagger相关依赖,分别是`springfox-swagger2`用于生成API文档和`springfox-swagger-ui`提供前端展示。例如:
```xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
```
2. 创建基础控制器:
创建一个简单的`HelloController`,通过`@GetMapping`注解暴露一个GET请求,返回"hello"信息:
```java
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello";
}
}
```
这部分展示了如何使用Spring MVC的`@RestController`和`@GetMapping`来定义一个HTTP接口。
3. 配置Swagger:
配置Swagger以启用API文档生成。在Spring Boot应用中,通常通过创建一个@Configuration类并启用`@EnableSwagger2`注解来完成:
```java
@Configuration
@EnableSwagger2 // 开启Swagger
public class SwaggerConfig {
}
```
然而,在Spring Boot 2.6.x及更高版本中,由于路径匹配器的变更,可能遇到空指针异常。此时,需要调整`application.yaml`中的配置:
```yaml
spring:
mvc:
pathmatchers:
default: ANT_PATH_MATCHER
```
这是因为Springfox使用的是AntPathMatcher,而Spring Boot默认使用了PathPatternMatcher。通过将`default`路径匹配器设置为`ANT_PATH_MATCHER`,可以解决此冲突。
4. 启动与测试:
重启Spring Boot应用,然后访问`http://localhost:8080/swagger-ui.html`(默认情况下,Swagger UI会自动映射到这里)。在这里,你可以查看API文档,并通过测试按钮验证`/hello`接口是否工作正常。
总结,本篇笔记介绍了如何在Spring Boot项目中集成Swagger 3.0,包括添加依赖、创建基本控制器、配置Swagger以及处理版本兼容性问题。这不仅有助于API的文档化,还能提升团队协作效率和用户体验。记得在实际开发过程中根据项目需求进行相应的配置和优化。
2018-01-22 上传
2021-02-28 上传
2021-03-31 上传
2018-08-12 上传
2021-06-04 上传
2023-09-08 上传
2021-05-10 上传
2021-05-07 上传
点击了解资源详情
学习日记
- 粉丝: 1w+
- 资源: 4
最新资源
- vim-zhongwei-snippets
- java-tomcat-v1
- CalculadoraImcApk:单纯性计算法IMC
- paperclip-av-qtfaststart:修复 FFmpeg MP4 视频文件
- Getting-and-Cleaning-Data-Course-Project:获取和清理数据课程项目
- 这里是关于MySql的学习记录.zip
- Java SSM基于BS的高校教师考勤系统【优质毕业设计、课程设计项目分享】
- Assignment-problem
- drawPanel:允许绘图的 Scala Swing 面板
- optikos-client:使用工作流程的可视化项目管理工具
- example-project-api-tests
- 在学习安卓时,随手写的一个简单的微信固定聊天界面。需要数据库(好像是mysql)和服务器(tomcat)支持。.zip
- 设计模式
- chromatic-todo
- Java SSM机票实时比价系统【优质毕业设计、课程设计项目分享】
- jwt:Flask JWT示例