swagger将我们提供的所有接口信息全部监控起来了,提高开发效率
Swagger 是一款RESTful接口的文档在线自动生成+功能测试功能软件。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。官网: GitHub地址:
- 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下游的抱怨声不绝于耳。
- 随着时间推移,不断修改接口实现的时候都必须同步修改接口文档,而文档与代码又处于两个不同的媒介,除非有严格的管理机制,不然很容易导致不一致现象。
为了解决上面这样的问题,本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。
下面来具体介绍,如果在Spring Boot中使用Swagger2。首先,我们需要一个Spring Boot实现的RESTful API工程,如果没有,请先搭建一个Spring Boot实现的RESTful API工程。
1、添加Swagger2依赖
在pom.xml中加入Swagger2的依赖:
2、创建Swagger2配置类
在Application(启动类)同级,新建一个config包(若已有config包就不用新建了),在config包下新建一个Swagger2的配置类,比如叫:Swagger2Config,代码如下:
通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore指定的请求)。
3、添加文档内容(就是在我们写的接口上添加@ApiOperation等注解信息)
在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。
@ApiImplicitParams:用在方法上包含一组参数说明
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
@ApiResponses:用于表示一组响应
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
@ApiIgnore: 表示该接口函数不对swagger2开放展示

@GetMapping(value=“/路径”) : 是@RequestMapping(value=“/路径”,method=RequestMethod.GET)的另一种写法
4、API文档访问与调试
完成上述代码添加上,启动Spring Boot程序,访问: 就能看到前文所展示的RESTful API的页面。我们可以再点开具体的API请求查看信息,具体WEB界面操作可以自己玩一下。(注意:如果程序中设置了过滤器或者拦截器时,需要把/swagger-ui.html、/v2/api-docs、/swagger-resources/ 路径给放开,否则可能会访问失败)
到此swagger配置使用步骤就结束了,希望您能成功哦!!!以下是在浏览器上打开swagger界面后的操作
5.查看某一个具体的接口信息(此处没有涉及到传参)


补充 :对@ApiImplicitParam注解中ParamType参数值说明:



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/149011.html