Spring Boot 整合 Swagger
一、为什么要用 Swagger
现在的开发模式,一般都是前后端分离的,开发接口文档就显得尤为重要,前端人员需要按照后端的功能文档调用对应的接口。在没有使用 API 文档之前,很多公司都是在纸或者 MarkDown 上写文档,不仅效率低,在进行前后端交互的时候也很容易出问题。
Swagger 是一款 API 构建工具,用于满足开发人员构建 API 的需求。Swagger 使用交互式的 API 文档来改善开发人员的体验,并提供无开销的测试功能,还支持可视化的 UI 文档界面。通过 UI 文档界面,前端人员可以很清楚的知道每个接口对应的功能,后端开发人员也可以进行相应的代码测试。
二、Spring Boot 整合 Swagger
在 SpringBoot 中整合 Swagger 很简单,只需要添加对应的依赖、然后配置相关的 Bean 即可,然后使用合适的注解用于文档说明,下面我们就来这么做。
在 pom.xml
中引入对应的依赖
<!-- 引入 swagger 对应的依赖 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version></dependency>
Swagger 配置类 SwaggerConfiguration
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.jas")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("swagger构建api文档").description("swaggerTest").version("1.0").build();}
}
测试的 Controller
@ResponseBody@GetMapping("/test")@ApiOperation(value = "swagger 测试", httpMethod = "GET", response = String.class)public String testSwagger(String userName) {return "Hello " + userName;}
三、访问 UI 页面文档
输入 http://{ip地址}:{端口号}/{资源路径,如果有配置}/swagger-ui.html
即可访问到 Swagger 文档页面,如下
后端开发人员可以在 API 文档上进行测试,方便问题的排查,前端人员也可以很清晰的知道每个接口对应的功能,然后就可以放心的开发啦。
四、常用的文档注解与属性
@ApiProperty
:用对象接收参数时,说明属性信息
@ApiParam
:描述某个参数
@Api
:用于标注在 Controller 上
description
:Controller 描述信息
@ApiOperation
:对 Controller 中的资源进行定义
value
:说明信息httpMethod
:HTTP 请求的方式response
:返回值类型
Spring Boot 整合 Swagger相关推荐
- Spring Boot 整合Swagger实现API管理
Spring Boot 整合Swagger实现API管理 1 Swagger介绍 根据官网的介绍: https://swagger.io Swagger 是一款RESTFUL接口的.基于YAML.JS ...
- Swagger Learing - Spring Boot 整合swagger
学习了一下swagger. 这是编写的Demo 源码 https://github.com/AmberBar/Learning/tree/master/swagger-learning/swagger ...
- Spring Boot整合Swagger3配置全局Token
应用背景:Swagger配置全局Token的目的在于调用真正接口前会被相关拦截器拦截,拦截器会校验此次访问是否合法,这时配置全局Token的作用就显现出来了,全局Token可以存储所有接口访问时的令牌 ...
- Spring Boot整合Swagger3注解@ApiImplicitParam的paramType属性为“path“
Spring Boot整合Swagger3的依赖版本为: <!--引入SpringBoot整合Swagger3的依赖--> <dependency><groupId> ...
- Spring Boot整合Swagger3注解@ApiImplicitParam的allowMultiple属性
Spring Boot整合Swagger3的依赖版本为: <!--引入SpringBoot整合Swagger3的依赖--> <dependency><groupId> ...
- Spring Boot 整合——Spring Boot整合kafka整合
Spring Boot 整合之前的内容 项目名称 描述 地址 base-data-mybatis 整合mybatis-plus(实际上官方教程已经很多,只做了自定义插件) 未完成 base-jpa J ...
- Spring Boot整合RSA加密数据传输
简介 吹水时间开始了,是这样的,公司自研开发一个app,因为要运营和上架需要办理安全评估,办理中说到公司app有可能会泄露用户信息,对用户信息没有加密,遇到抓包的可能会导致用户信息泄露,这时我想到了R ...
- Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)
文章目录 Spring Boot 2.X - Spring Boot整合Swagger2(starter方式) 引入依赖 添加@EnableSwagger2Doc注解 创建实体类 创建Controll ...
- spring boot整合spring security笔记
最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...
最新文章
- linux使用wget下载https开头url的文件
- jmeter用户自定义变量的实际使用
- 「GNN,简直太烂了」,一位Reddit网友的深度分析火了
- CNCF 公布 2020 年 TOC 选举结果 | 云原生生态周报 Vol. 36
- python selenium对浏览器自动截图
- 大数据学习——akka自定义RPC
- C++之‘nullptr’ was not declared in this scope
- inno setup 另一个程序正在使用此文件_STEP 7-MicroWIN SMART程序的上传与下载方式
- 计算机考研单科成绩要求,考研单科分数是多少
- 在asp中实现自动缩放图片(推荐)
- 全新卡盟系统PHP版 集成易支付_2020年全新PHP全开源易支付系统完整源码 带多个支付接口...
- 笔记本 续航测试软件,续航测试:较高强度运行状态_笔记本评测-中关村在线
- 【CSS 字体 属性(Font)】
- springboot项目配置视图解析器无效的问题
- 电脑被格式化后数据还能恢复吗【图文】
- 单项冠军企业申报条件及奖励政策
- Python利用Opencv读取图片
- 如何找到google主题的壁纸
- 观其关键字排名查询工具_海口seo关键字优化工具排名
- matlab弹道仿真,基于Matlab和Simulink的导弹弹道仿真与应用
热门文章
- 【算法系列之万字总结常用的查找算法,持续补充更新中】
- oracle存储日志
- mybatis多条件查询
- Spring Session——@EnableSpringHttpSession注解
- BIOS——PE无法识别硬盘问题问题解决方案
- mysql删除有关联的数据库表_【数据库】mysql如何删除关联表
- 解决LoggerFactory is not a Logback LoggerEither remove Logback or the competing implementation (class
- 易混淆的c++知识点
- java ,c# 解决安全沙箱问题
- 数学建模-预测模型总结(适用范围、优缺点)【灰色预测模型、插值与拟合、时间序列预测法、马尔科夫预测、差分方程、微分方程模型、神经元网络】