从0开始学习SpringCould(6)--SpringBoot 集成swagger2
来源:互联网 发布:linux安装smb服务 编辑:程序博客网 时间:2024/05/17 06:48
Swagger 是一个简单但功能强大的API表达工具。几乎所有的语言都可以找到与之对应的Swagger 版本。使用Swagger生成API,我们可以得到交互式文档。听过Spring Boot 与Swagger 的结合,生成更加完备的REST ful API 文档。通过在源码中添加部分内容,系统生成文档,大大提高工作效率,不用再花费大量时间来创建文档,同时由于同时是通过代码开生成文档,大大降低了维护成本
Swagger 不仅可以组织生成强大的 REST ful 文档,同时也提供了完备的测试功能,可以直接在文档页面测试接口功能。
本篇主要介绍Swagger在SpringBoot中的应用
本篇所用到的接口是上一篇 从0开始学习SpringCould(5)–SpringBoot 集成Mybatis使用Druid数据源 所创建的接口
一、maven依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger2.version}</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger2.version}</version></dependency>
版本信息:
<swagger2.version>2.7.0</swagger2.version>
二、编辑Swagger配置类
package com.example.springboot_demo.swagger;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @author zhoudong * swagger 配置类 */@Configuration@EnableSwagger2public class SwaggerConfig { @Bean public Docket api(){ return new Docket(DocumentationType.SWAGGER_2).select() .apis(RequestHandlerSelectors.basePackage("com.example.springboot_demo.controller")) .paths(PathSelectors.any()) .build() .apiInfo(apiInfo()); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2构建RESTful APIs") .description("spring boot , swagger2") .termsOfServiceUrl("http://blog.csdn.net/zdshare") .version("1.0") .build(); }}
@Configuration
告诉Springboot 这是一个配置类 @EnableSwagger2
表示,开启Swagger2
特别补充:
如果在配置文件中配置过
静态文件路径的,需要去掉,要不然不能打开swagger-ui.html
到此,最基本的一个SwaggerUI界面就已经开启,访问URL:http://localhost:9000/demo/swagger-ui.html
大概如图:
三、进一步配置
@PostMapping("/add")@ApiOperation(value="保存数据测试")public @ResponseBody Map<String,Object> add(@RequestBody Demo demo){ Map<String,Object> map = new HashMap<>(); log.info(" ** 接收到请求信息:{}", JSON.toJSONString(demo)); demo.setId(UUID.randomUUID().toString().replaceAll("-","")); try { demoService.insert(demo); map.put("respCode","T"); }catch (Exception e){ map.put("respCode","T"); e.printStackTrace(); } return map;}
@ApiOperation(value="保存数据测试")
描述当前接口
再次访问swagger-ui.html
更多参数,请自行测试
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数
四、使用swagger-ui测试接口
1、请求按钮点击顺序如图
2、返回
可以查看到,返回结果及http code
查看数据库数据
没毛病 成功。
本篇结束,谢谢!
更多内容请关注微信公众号:
- 从0开始学习SpringCould(6)--SpringBoot 集成swagger2
- 从0开始学习SpringCould(4)--SpringBoot 集成freemarker
- 从0开始学习SpringCould(5)--SpringBoot 集成Mybatis使用Druid数据源
- 从0开始学习SpringCould(1)--SpringBoot项目搭建
- 从0开始学习SpringCould(3)--SpringBoot 定时任务
- 从0开始学习SpringCould(2)--SpringBoot yml简单配置
- 从0开始学习SpringCould(7)--SpringBoot 多环境配置
- 从0开始学习SpringCould(8)--SpringBoot 分环境读取配置文件
- 从0开始学习SpringCould(9)--Eureka 服务注册发现
- Springboot集成swagger2
- springboot项目集成Swagger2
- SpringBoot集成Swagger2
- springboot集成swagger2
- springboot集成swagger2
- Springboot集成Swagger2
- SpringBoot集成Swagger2
- 从今天开始学习springboot--
- springboot学习笔记(八) Swagger2
- NAT的原理与类型
- Angular学习笔记(一)
- 操作系统之进程
- 关于signal和fork的思考
- 技术共享之常见的6中种方法检测手机是否是虚拟机
- 从0开始学习SpringCould(6)--SpringBoot 集成swagger2
- Android开发蓝牙与ble设备的通讯
- spring《四》
- https://www.cnblogs.com/Y1Focus/p/6707121.html
- 基于灰度的模板匹配算法
- JDK版本切换
- 面向对象方法
- spring boot配置文件application.properties
- 数据库设计 表和表之间的三种关系