集成Swagger在线调试
SpringBoot是为了简化Spring应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。
前端和后端唯一联系,变成了API接口;API文档自然就成了前后端开发人员联系的纽带,变得尤为的重要,swagger就是一款让你更好的书写API文档的框架。
文档工具
没有API文档工具之前,基本都是手写API文档的,如有在Word上写的,有在对应的项目目录下readme.md上写的,每个公司都有每个公司的玩法,无所谓好坏。但是这种手写文档带来的弊端就是维护起来苦不堪言,对于接口容易发生变化的开发者来说,维护文档就是噩梦….
好在现如今市场上书写API文档的工具有很多,常见的有 postman、yapi、阿里的RAP 但是能称之为框架的,估计也只有swagger了。
swagger优缺点
- 集成方便,功能强大
- 在线调试与文档生成
- 代码耦合,需要注解支持,但不影响程序性能
导入依赖
在 pom.xml 中添加 swagger-spring-boot-starter 的依赖
1
|
<dependency>
|
属性配置
配置spring.swagger.enabled开启swagger的使用,如果在生产环境中不想用可以在对应的profile下面将它设置为spring.swagger.enabled=false,这样一来接口就不存在暴露的风险
1
|
# 扫描的包路径,默认扫描所有
|
实体类
swagger 提供了非常齐全的注解,为POJO提供了@ApiModel、@ApiModelProperty,以便更好的渲染最终结果
1
|
package com.battcn.entity;
|
restful 风格接口
注解描述
@Api: 描述Controller@ApiIgnore: 忽略该Controller,指不对当前类做扫描@ApiOperation: 描述Controller类中的method接口@ApiParam: 单个参数描述,与@ApiImplicitParam不同的是,他是写在参数左侧的。如(@ApiParam(name = "username",value = "用户名") String username)@ApiModel: 描述POJO对象@ApiProperty: 描述POJO对象中的属性值@ApiImplicitParam: 描述单个入参信息@ApiImplicitParams: 描述多个入参信息@ApiResponse: 描述单个出参信息@ApiResponses: 描述多个出参信息@ApiError: 接口错误所返回的信息
1
|
package com.battcn.controller;
|
主函数
添加 @EnableSwagger2Doc 即可
1
|
package com.battcn;
|
测试
由于上面的接口是 restful 风格的接口,添加和修改无法通过浏览器完成,以前都是自己编写junit或者使用postman之类的工具。现在只需要打开浏览器输入 http://localhost:8080/swagger-ui.html,更多操作请自行体验…



浙公网安备 33010602011771号