Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >五分钟教你上手swagger

五分钟教你上手swagger

作者头像
lomtom
发布于 2021-10-27 07:19:50
发布于 2021-10-27 07:19:50
1.3K00
代码可运行
举报
文章被收录于专栏:博思奥园博思奥园
运行总次数:0
代码可运行

一,swagger是什么?

swagger是一种基于Rest样式的api文档开发工具,我们常常替换前替换项目,解决由于前直接分离导致的数据接口替代问题,有效减少前端程序员与编程程序员的打斗次数。

swagger自己是这样介绍swagger的:

1、Swagger是一组功能强大且易于使用的API开发人员工具套件,适用于团队和个人,可在整个API生命周期(从设计和文档到测试和部署)中进行开发。

2、Swagger由开放源代码,免费和市售工具共同组成,它使任何人(从技术工程师到街头智能产品经理)都可以配置每个人都喜欢的惊人的API。 3、Swagger由SmartBear Software合并,并成为团队软件质量工具的领导者。SmartBear在此软件领域的一些知名企业,包括Swagger,SoapUI和QAComplete。

二,使用

1,日期依赖

pom.xml文件中加入依赖

代码语言:javascript
代码运行次数:0
运行
复制

2,配置

主要从这几个方面来配置swagger

1,配置swagger配置 2,配置swagger扫描 3,配置swagger2设置分组 4,实体类设置

2.1,配置swagger配置

首先若要使用swagger需要在配置文件上加上@EnableSwagger2注解,使用swagger2执行。

以下就是最简单的配置方法

代码语言:javascript
代码运行次数:0
运行
复制

如果你不知道ApiInfo的插入含义,我们可以查看他的构造方法,里面分别是它所代表的含义,这个相信会一点英文的都能够看得懂。

而ApiInfo并没有自己属性的set方法,所以我们只能使用构造方法来进行注入。

代码语言:javascript
代码运行次数:0
运行
复制

此时无需配置其他的我们也可以直接使用swagger。

:http:// localhost:8080 / swagger-ui.html。

在我的项目里一共有三个控制器:LoginController、RegisterController、OssController

其中1,红色框内就是我配置的一些信息,而标注的①②③是我自己的controller,额外的④是替代的controller,也就是我们访问出错的/error页面

2.2,配置swagger扫描

若我们在开发中不想看到任何的控制器或需要隐藏其他的控制器,我们可以使用以下配置

代码语言:javascript
代码运行次数:0
运行
复制

其中,apis参数中RequestHandlerSelectors一共有五种配置:

代码语言:javascript
代码运行次数:0
运行
复制

而.paths(PathSelectors.ant(“ / admin / **”)),指的是我只扫描/admin/路径下的所有请求。

2.3,配置swagger2设置分组

当我们在实际的开发中,一个项目经常由多个开发人员共同协作完成的,而swagger恰好可以在这方面解决这一问题。

代码语言:javascript
代码运行次数:0
运行
复制

我们再在原来的基础上加上两个Docket,当然实际中我们需要配置的往往不会这么简单,这里只是举例说明。

可以看到,在原来的分组中多了两个组,这样我们的程序员就可以只看自己的负责的接口了。

2.4,实体类设置

我们可以在实体类中对我们的模型对象进行一些说明。@ApiModel对实体类的说明, @ApiModelProperty对类的属性的说明。

代码语言:javascript
代码运行次数:0
运行
复制

另外: swagger的常用API

1. api标记Api用在类上,说明该类的作用。可以标记一个控制器类作为swagger文档资源,使用方式:

代码语言:javascript
代码运行次数:0
运行
复制

1. ApiOperation标记ApiOperation:用在方法上,说明方法的作用,每一个网址资源的定义,使用方式:

代码语言:javascript
代码运行次数:0
运行
复制

1. ApiParam标记ApiParam请求属性,使用方式:

代码语言:javascript
代码运行次数:0
运行
复制

1. ApiResponse ApiResponse:响应配置,使用方式:@ApiResponse(代码= 400,消息=“提供了无效的用户”)

1. ApiResponses ApiResponses:响应集配置,使用方式:@ApiResponses({@ ApiResponse(code = 400,message =“ Invalid Order”)})

1. ResponseHeader响应头设置,使用方法@ResponseHeader(name =“ head1”,description =“ response head conf”)

例如:我在我的上传文件的控制器上加上注解说明

代码语言:javascript
代码运行次数:0
运行
复制

这样就可以对我们的接口进行中文说明。

2.5,接口测试

swagger还为程序员提供了接口的测试功能,例如:测试登录接口,填上需要的信息,单击下方的Try it out进行测试。

从显示的数据中可以清晰地到看到我们所需要的信息:请求地址,请求头,请求体,状态码,响应头信息。

三,拓展

这里有这样一个问题,也常常会作为面试题出现:

代码语言:javascript
代码运行次数:0
运行
复制

答:建立需要好几个springboot配置文件,例如application.yml, ,application-pro.yml,,application-dev.yml分别用于默认,部署后,的开发环境中在application.yml指定当前使用的的英文哪一个

代码语言:javascript
代码运行次数:0
运行
复制

然后,再在swagger配置中配置,如果当前环境使用的是dev的配置文件,就是用enable(flag),来关闭swagger功能。

这样就能使项目上线后不暴露接口,有效的提高安全性。

代码语言:javascript
代码运行次数:0
运行
复制

总的来说,swagger是一个很好用的api文档工具,并且上手难度不高,最关键的是能减少前程序员程序员的打斗次数,你值得拥有。

1,swagger介绍及两种使用方法[1]

参考文献

[1]1,swagger介绍及两种使用方法:https ://blog.csdn.net/weixin_37509652/article/details/80094370

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博思奥园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot整合Swagger2
在团队开发中,一个好的 API 文档不但可以减少大量的沟通成本,还可以帮助一位新人快速上手业务。传统的做法是由开发人员创建一份 RESTful API 文档来记录所有的接口细节,并在程序员之间代代相传。这种做法存在以下几个问题:
用户10196776
2023/10/17
3440
SpringBoot整合Swagger2
SpirngBoot整合Swagger
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。
框架师
2021/03/05
1.2K0
Swagger2自动生产: api文档
输入:http://localhost:8080/swagger-ui.html,能够看到如下页面,说明已经配置成功了: 这里的8080是Boot的默认端口, 根据项目端口更改!
Java_慈祥
2024/08/06
2480
Swagger2自动生产: api文档
第二章:Swagger2
天蝎座的程序媛
2023/10/17
4200
第二章:Swagger2
Spring Boot 使用 Swagger3 生成 API 接口文档
在之前的文章中,我们已经讲了如何利用 Spring Boot 来集成 Swagger2,详情可戳:Spring Boot 集成 Swagger2,构建强大的 API 文档[1]。但其实 Swagger2 中主流的 2.9.2 自 2018 年发布后就已经好久没更新了,而在时隔两年之后的 2020 年,Swagger3 终于发布了。
村雨遥
2022/01/19
27.8K1
Spring Boot 使用 Swagger3 生成 API 接口文档
Spring Boot:整合Swagger文档
spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 
朝雨忆轻尘
2019/06/19
9510
Spring Boot:整合Swagger文档
使用Swagger生成Spring Boot微服务API文档
springfox是产生API文档,而swagger-ui 则是RestAPI的界面。 创建一个RestController ,定义API:
lyb-geek
2018/09/27
1.4K0
谁家面试往死里问 Swagger 啊?
说个挺奇葩的事,有个老铁给我发私信吐槽了一下它的面试经历,他去了个国企单位面试,然后面试官跟他就Swagger的问题聊了半个多小时。额~ 面试嘛这些都不稀奇,总能遇到是千奇百怪的人,千奇百怪的问题。不过,我分析这个面试官是不太好意思直接让他走,哈哈哈!
程序员小富
2023/08/31
4970
Swagger 3.0快速入门
SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
大忽悠爱学习
2021/11/15
1.5K0
Spring Boot 2.x(十二):Swagger2 的正确玩儿法
简单的来说,Swagger2的诞生就是为了解决前后端开发人员进行交流的时候API文档难以维护的痛点,它可以和我们的Java程序完美的结合在一起,并且可以与我们的另一开发利器Spring Boot来配合使用。
山禾说
2019/03/15
5030
Spring Boot 2.x(十二):Swagger2 的正确玩儿法
2018-11-18 swagger2 自动生成API
作者:小莫 链接:https://www.zhihu.com/question/28119576/answer/134580038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Albert陈凯
2018/12/14
7290
Springboot优雅集成Swagger2
相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。
上分如喝水
2021/08/16
2.6K0
Springboot优雅集成Swagger2
SpringBoot: 后台接口文档 - 基于Swagger3
可以看到,上面那个界面中,默认显示了一个basic-error-controller接口分组,但是我们并没有写;
汤圆学Java
2021/07/29
1.9K0
Spring Boot 集成 Swagger 构建接口文档
在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修改接口文档,就可能造成不必要的麻烦。
武培轩
2020/06/08
9820
Spring Boot 集成 Swagger 构建接口文档
Swagger2介绍+与SpringMVC整合
本文简单介绍了SpringMVC项目中集成swagger的流程和一些注意点。如果想深入分析项目源码,了解更多内容,见参考资料。
wuweixiang
2018/08/14
5.9K2
Swagge里面的必会知识(最全,精美版)
Swagger是一款目前世界最流行的API管理工具。目前Swagger已经形成一个生态圈,能够管理API的整个生命周期,从设计、文档到测试与部署。Swagger有几个重要特性:
编程张无忌
2021/01/26
8340
Swagge里面的必会知识(最全,精美版)
SpringBoot集成Swagger2生成接口文档,妈妈再也不用担心我写API文档了
传统的做法是由开发人员创建一份 RESTful API 文档来记录所有的接口细节,说实话,这样的工作量并不小,而且十分琐碎,且随着项目的更新会出现以下问题。
做棵大树
2022/09/09
1.3K0
搭建单体SpringBoot项目 集成Swagger接口文档
浏览器访问 http://ip:port/swagger-ui/index.html
郭顺发
2023/07/07
5020
第九节:SpringBoot在线文档Swagger2入门
Swagger2 是一个开源项目,用于为 RESTful Web 服务生成 REST API 文档。它提供了一个用户界面,可以通过 Web 浏览器访问我们的 RESTful Web 服务,测试接口。 SpringBoot集成Swagger2 3.0以下版本 pom.xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </
入门笔记
2022/02/10
4610
springboot整合swagger
http://localhost:8080/swagger-ui/index.html
九转成圣
2024/04/10
1540
相关推荐
SpringBoot整合Swagger2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验