SpringBoot如何使用Swagger2构建API文档
1、Swagger2介绍
编写和维护接口文档是每个程序员的职责,前面我们已经写好的接口现在需要提供一份文档,这样才能方便调用者使用。考虑到编写接口文档是一个非常枯燥的工作,我们采用Swagger2这套自动化文档工具来生成文档,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。
2、SpringBoot开启Swagger2支持
第一步:pom文件中导入对应依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
第二步:创建配置类
@Configuration @EnableSwagger2 public class Swagger2 { private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("spring Boot中使用Swagger2构建Restful APIS") //大标题 .description("就业") //描述 .termsOfServiceUrl("http://www.baidu.com/") .contact("Sunny") .version("1.0") .build(); } @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.ghh.staticdemo.controller")) .paths(PathSelectors.any()) .build(); } }
通过@Configuration
注解,表明它是一个配置类,
@EnableSwagger2
注解开启swagger2。apiInfo() 方法配置一些基本的信息。
createRestApi() 方法指定扫描的包会生成文档,默认是显示所有接口,可以用@ApiIgnore
注解标识该接口不显示。
运行步骤:
通过@Configuration
注解,让Spring来加载该类配置。再通过@EnableSwagger2
注解来启用Swagger2。
再通过createRestApi方法
创建Docket
的Bean之后,
apiInfo()
用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。
select()
函数返回一个ApiSelectorBuilder
实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore
指定的请求)。
apis()用于指定spring容器会扫描当前项目中哪些包中的接口
第三步:在controller层的接口上添加以下注解
@GetMapping("Hello") @ApiOperation(value = "返回123",notes = "返回123字符串") public String hello(){ return "123"; } @GetMapping("findUser/{id}") @ApiOperation(value = "查找指定id姓名",notes = "返回user对象") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "用户id",required = true,dataType = "Long"), @ApiImplicitParam(name = "uname",value = "用户姓名",required = true,dataType = "String") }) public User findUser(@PathVariable("id")Integer id,@RequestParam("name")String uname){ User user = new User(); user.setUid(id); user.setUname(uname); return user; }
通过@ApiOperation
注解来给API增加说明()、通过@ApiImplicitParams(接口中需要的多个参数参数)
、@ApiImplicitParam(单个参数)
注解来给参数增加说明。name:参数名,value:参数的描述,dateType代表返回值类型,required代表参数是否必须要传,
3、查看Swagger2文档
重启应用:访问地址 http://localhost:8080/swagger-ui.html
效果如下
比较简洁,希望能帮到你们
原文地址:https://www.cnblogs.com/guanyuehao0107/p/11797782.html
- Oracle 11g R2 RAC 高可用连接特性 – SCAN 详解
- Spring boot · 链接池配置
- Linux下命令行图片格式转换
- 用SQL解一道有趣的数学题:Gauss和Poincare
- OpenSSL 转换证书格式
- 电子邮件服务器DKIM配置
- 自相矛盾:一个进程可以自成死锁么?
- 数据库安全·开发加密插件
- wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:WINDOWSTEMP/wordpress-4.
- 数据库安全·数据加密
- Medium网友开发了一款应用程序 让学习算法和数据结构变得更有趣
- 数据库安全·Token 认证
- 数据库安全·用户/角色认证
- 防止在训练模型时信息丢失 用于TensorFlow、Keras和PyTorch的检查点教程
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 解决SSH登录缓慢
- Html ul、li Css标签详解 使用图片自定义样式 隐藏小点样式齐全
- TRTC Android端开发接入学习之实现视频通话(五)
- 让WordPress默认用户无法进入后台
- 图像处理笔记(2)----OpenCV imread函数详解
- 面试官:来写个代码求一下两个数的最大公约数吧
- 聊聊BitCaskLock
- 自动化构建工具~Maven
- 聊聊BitCaskKeyDir
- 使用 Node.js 定制你的技术雷达:上篇
- css画div对角线
- redis学习笔记--redis过期机制学习
- 猿实战08——属性库实现之属性关系绑定
- 猿实战07——属性库之实现电商系统基石模块
- 栈与队列简介