网站首页 > 博客文章 正文
说到Swagger有人会问Swagger到底是什么?作为一个后端开发人员来讲,为什么要使用Swagger呢?因为我们现在完成的项目大多数情况下都是前后端分离的项目,而对于前端开发人员来讲,他们需要调用接口,才能获取到对应的数据。那么这个接口如何获取,总不能是后端开发人员弄好之后一个接口一个接口复制删帖给人家吧?当然这种操作在接口少量的情况下很容易就实现了,但是如果接口数量较多的情况下就有点太不可取了。
这个时候Swagger就应用而生了,Swagger将项目中的接口进行统一的管理,前端开发人员只需要将这套接口文档获取到就可以查找到自己想要的接口了。使用Swagger的好处也就显而易见了。
使用Swagger 的好处
- 无依赖:UI适配与任何的开发环境,无论是本地还是Web
- 人性化:允许开发人员轻松交互并且尝试API的每个操作,方便使用
- 易导航:使用文档分类整理可以快速地查找到自己想要的资源
- 支持所有浏览器:SwaggerUI支持了几乎所有的主流浏览器
- 定制化:可以通过源代码的方式访问到需要调整的SwaggerUI
- 支持OAS技术
Swagger3.0
Swagger3.0 是在Swagger2.0的基础上坐了一次大的升级,在官方文档上给出了如下的一些修改
- 删除了对于springfox-swagger2的依赖
- 删除了所有@EnableSwagger2XXX的注解
- 添加了关于Swagger的使用场景启动器springfox-boot-starter依赖
- 移除了guava等第三方依赖相关
- 修改文档访问地址为http://ip:port/project/swagger-ui/index.html
既然做了这么多的修改,那么接下来我们就来带着大家来一起实战Spring Boot整合Swagger3.0吧。
整合Swagger3.0
第一步、在POM文件中引入对应的场景启动器
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
第二步、编写Swagger的基础配置类
@Configuration
public class BaseSwagger3Config {
@Autowired
private BaseSwagger3Properties properties;
@Bean
public Docket baseApi(){
return new Docket(DocumentationType.OAS_30)
// 是否开启,根据环境配置
.enable(properties.getEnable())
.groupName(properties.getGroupName())
.apiInfo(frontApiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(properties.getBasePackege()))
.paths(PathSelectors.any())
.build();
}
// 前台API信息
private ApiInfo frontApiInfo(){
return new ApiInfoBuilder()
.title(properties.getTitle())
.description(properties.getDescription())
.version(properties.getVersion())
.contact(
// 添加开发者信息
new Contact(
properties.getContactName(),
properties.getContactUrl(),
properties.getContactEmail())
).build();
}
}
这里我们指定了配置文件映射类
@Component
@ConfigurationProperties(prefix = "spring.swagger")
@Data
public class BaseSwagger3Properties {
private String groupName;
private String basePackege;
private String title;
private String description;
private String contactName;
private String contactEmail;
private String contactUrl;
private String version;
private Boolean enable;
}
第三步、添加全局配置文件
spring:
swagger:
enable: true
groupName: 前端接口
basePackege: com.example.demo.controller.api
title: 前端测试接口
description: 前端测试Spring Boot整合Swagger3.0
contactName: nihui
contactEmail: 18202504057@163.com
contactUrl: https://blog.csdn.net/nihui123
version: 0.0.1
mvc:
pathmatch:
matching-strategy: ant_path_matcher
添加完全局配置文件之后,运行项目访问http://localhost:8080/swagger-ui/index.html路径之后就会卡看到如下的页面
通过上面的这些操作步骤,我们就可以将Swagger3.0 整合到Spring Boot中可以通过指定不同的路径,来指定不同的接口
总结
通过上面的例子我们了解了Spring Boot 如何去整合Swagger3.0的基础操作,当然Swagger3.0所支持的操作并不是只有简单的这些,我们在后续的分享中也会更进一步的去介绍Swagger3.0的其他的用法。希望大家多多关注
猜你喜欢
- 2024-09-15 SpringBoot整合Swagger,方便后端测试
- 2024-09-15 仅需三行代码,即可让Apache Shiro接管Swagger权限认证
- 2024-09-15 Asp.Net Core Swagger 页面适配 Nginx 二级目录 | 完美解决方案
- 2024-09-15 中年大叔学编程-Gin-Swagger生成API接口文档
- 2024-09-15 【问题解决】解决 swagger2 默认地址失效
- 2024-09-15 SpringBoot-25-Swagger2以及Swagger-Bootstrap-Ui的使用
- 2024-09-15 Swagger文档转Word 文档(怎么生成swagger文档)
- 2024-09-15 干掉 Swagger (丝袜哥),试试这个新工具
- 2024-09-15 生产环境必须关闭Swagger2,你还没有关闭吗?
- 2024-09-15 干掉 BeanUtils!试试这款 Bean 自动映射工具,真心强大
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)