代码:https://github.com/NIGHTFIGHTING/spring_boot_learning/tree/master/21-22/agan-boot/agan-boot-swagger

# SpringBoot集成swagger实战### 一、本课程目标:
1. 弄清楚,为什么要用swagger,它解决了什么问题?
2. 编码实现2个springboot接口,让swagger自动生成接口文档### 二、为什么要用swagger,它解决了什么问题?
随着sprnigboot、springcloud等微服务的流行,在微服务的设计下,小公司微服务小的几十,大公司大的几百上万的微服务。
这么多的微服务必定产生了大量的接口调用。而接口的调用就必定要写接口文档。
在微服务的盛行下,成千上万的接口文档编写,不可能靠人力来编写,故swagger就产生了,它采用自动化实现并解决了人力编写接口文档的问题;
它通过在接口及实体上添加几个注解的方式就能在项目启动后自动化生成接口文档,Swagger 提供了一个全新的维护 API 文档的方式,有4大优点:
1.自动生成文档:只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性。
2.跨语言性,支持 40 多种语言。
3.Swagger UI 呈现出来的是一份可交互式的 API 文档,我们可以直接在文档页面尝试 API 的调用,省去了准备复杂的调用参数的过程。
4.还可以将文档规范导入相关的工具(例如 SoapUI), 这些工具将会为我们自动地创建自动化测试。### 三、案例实战:把springboot的接口,自动生成接口文档#### 步骤1: pom文件加入依赖包
``` <!--swagger-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency>
<!--swagger-ui-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
</dependency>
```
#### 步骤2:修改配置文件
1. application.properties 加入配置
```
#表示是否开启 Swagger,一般线上环境是关闭的
spring.swagger2.enabled=true
```
2.增加一个swagger配置类
```
@Configuration
@EnableSwagger2
public class SwaggerConfig {@Value(value = "${spring.swagger2.enabled}")private Boolean swaggerEnabled;@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(swaggerEnabled).select().apis(RequestHandlerSelectors.basePackage("com.agan.boot")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("接口文档").description("阿甘讲解 Spring Boot").termsOfServiceUrl("https://study.163.com/provider/1016671292/index.htm").version("1.0").build();}
}
```
以上注意点:
1.createRestApi() 这个方法一定要写上你的包名名,代表需要生成接口文档的目录包体验地址:http://127.0.0.1:9091/swagger-ui.html

21.为什么要用swagger,它解决了什么问题?相关推荐

  1. 对不起,Ubuntu 21.04出现了内部错误 解决办法

    ubuntu内部错误的解决办法 在ubuntu使用过程中,出现下面错误: 对不起,Ubuntu 16.04出现了内部错误. 这并不是ubuntu16.04特有的问题,好像每一个ubuntu版本都有类似 ...

  2. android 8.0.0-r1 源码编译遇到的问题build/core/main.mk:21: recipe for target 'run_soong_ui' failed 解决

    好处:使用studio查看源码的时候,如果不生成.ipr .iml文件,查看的Java文件是无法索引到其他的文件的,需要一个一个的搜索,很不方便,而.ipr .iml文件就可以解决这部分问题,而且它还 ...

  3. swagger中解决Fetch errorInternal Server Error /swagger/v1/swagger.jso

    在使用swagger作为api接口文档的时候经常会出现如下的错误 出现此错误的话可以仔细看下控制台, 可以从图中看出,Ambiguous HTTP method for action不明确的HTTP操 ...

  4. swagger knife4j 解决接口下载文件响应乱码问题

    ** 在@ApiOperation注解中加上produces = "application/octet-stream" ** 添加效果如图所示: @ApiOperation(val ...

  5. SpringBoot 21 Swagger 2.9.2

    21.1 为什么会有 Swagger 前后端分离的主流:Vue + SpringBoot 后端:数据访问层.服务层.控制层[后端团队] 前端:控制层.视图层[前端团队] 前后端如何进行交互: API ...

  6. 网易倩女找不到服务器,新倩女幽魂9月21日一直正在连接服务器_新倩女幽魂9月21日服务器一直连接解决办法_玩游戏网...

    明天<新倩女幽魂>就要和大家见面了,相信很多的网友已经迫不及待想在游戏中和居老师来一场偶遇.小编相信明天<新倩女幽魂>服务器一旦开启,一定会有大量的网友涌入,所以一定会有很多的 ...

  7. 群星服务器id不显示,《群星stellaris》1.21版常见三大bug解决方法一览

    <群星stellaris>1.21版常见三大bug解决方法一览 2016-07-31 11:05:00来源:贴吧编辑:评论(0) <群星stellaris>1.21版中玩家遇到 ...

  8. 解决VS2005 远程工具无法通过同步软件连接S5pv210 样机的问题

    居然无法连接,记得以前遇到过的 1 分钟前 上传 下载附件 (58.21 KB) 后来还是看MSDN解决了 MSDN连接如下 http://msdn.microsoft.com/en-us/libra ...

  9. Springboot 集成 Swagger

    1.问题描述 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远. 前端和后端的唯一联系,变成了API接口:A ...

最新文章

  1. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序
  2. Oracle 之 配置HugePages内存
  3. ScalaTour-1.基础
  4. MySQL高级 - SQL优化 - 索引提示
  5. 存储过程-----DECLARE---实用注意事项
  6. [图神经网络] 图节点Node表示---GAT
  7. 零基础 Amazon Web Services (AWS) 入门教程 (列表)
  8. 任正非给华为代表处CFO定位:能力不够的赶快补
  9. Java基础学习总结(87)——坚持写Java等技术类博客的好处
  10. UIDevice 系统信息详解
  11. 使用dd工具对磁盘RAID5和10进行I/O性能测试
  12. FlexSim仿真软件入门笔记:基本操作、快捷键
  13. lua脚本java_java操作lua脚本
  14. vray渲染出图尺寸_3d最终渲染参数设置、vr相片级成品参数值
  15. 薅羊毛!如何让趣头条自动阅读挣钱
  16. android studio 模拟器很慢,解决AndroidStudio模拟器卡慢的问题
  17. Faster R-CNN最全讲解
  18. java 线程概念_java并发编程之 java线程基本概念
  19. 扩展RBAC用户角色权限设计方案(转载)
  20. 易语言 热键DLL封装

热门文章

  1. lwip netbuf
  2. Centos VMware 克隆后 网络配置
  3. linux下插入的mysql数据乱码问题及第三方工具显示乱码问题
  4. Facebook究竟是怎么抄袭Snapchat的?听听他们自己怎么说
  5. 限制UITextView中的字数
  6. 实现1-2+3-4+5-6+…+99-100的算法的程序
  7. Linux环境下基于策略的路由
  8. 如何插入一条记录获取插入后的自动增长ID列的方法.
  9. 结构型设计模式 (1)—— 适配器模式(Adapter Pattern)
  10. C++ 实现简易 log 日志系统