1:认识Swagger2
Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
2.首先我们来看一下他能够做什么。(访问:
localhost:8080/swagger-ui.html)
3.然后。
4.最后。
5.作用:
1.
接口的文档在线自动生成。
2.
功能测试。
6.我们可以用swagger2 解决的问题
- 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下游的抱怨声不绝于耳。
- 随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象。(很多人都会说wiki 里面没有,而接口里面有)
- 可以节约在单元测试上的时间。
为了解决上面这样的问题,本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。
7.接下来我们来玩一玩Swagger2:
首先pom 里面需要添加swagger2 的包
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.2.2</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.2.2</version>
</dependency>
因为鄙人现在使用的是spring boot 所以使用的配置是java config 这种模式,所以接下来是一个 swagger2config 类进行配置。
8.结果和之前的最后一样。
在我们的项目开发中,常常会因为我们的接口版本不对称导致反复的调试导致了我们会浪费大量的时间在测试上,so 现在我们可以利用swagger2 来提升大家的效率。
分享源码: 我的源代码点这里。