关键词:
手写Api文档的几个痛点:
- 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。
- 接口返回结果不明确
- 不能直接在线测试接口,通常需要使用工具,比如postman
- 接口文档太多,不好管理
Swagger也就是为了解决这个问题,当然也不能说Swagger就一定是完美的,当然也有缺点,最明显的就是代码移入性比较强。
其他的不多说,想要了解Swagger的,可以去Swagger官网,可以直接使用Swagger editor编写接口文档,当然我们这里讲解的是SpringBoot整合Swagger2,直接生成接口文档的方式。
一、依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
二、swagger配置类
其实这个配置类,只要了解具体能配置哪些东西就好了,毕竟这个东西配置一次之后就不用再动了。 特别要注意的是里面配置了api文件也就是controller包的路径,不然生成的文档扫描不到接口。
1 package org.wlgzs.swagger2.config; 2 3 import org.springframework.context.annotation.Bean; 4 import org.springframework.context.annotation.Configuration; 5 import springfox.documentation.builders.ApiInfoBuilder; 6 import springfox.documentation.builders.PathSelectors; 7 import springfox.documentation.builders.RequestHandlerSelectors; 8 import springfox.documentation.service.ApiInfo; 9 import springfox.documentation.service.Contact; 10 import springfox.documentation.spi.DocumentationType; 11 import springfox.documentation.spring.web.plugins.Docket; 12 import springfox.documentation.swagger2.annotations.EnableSwagger2; 13 14 /** 15 * @author zsh 16 * @company wlgzs 17 * @create 2019-02-13 16:01 18 * @Describe 19 */ 20 @Configuration 21 @EnableSwagger2 22 public class Swagger2 { 23 @Bean 24 public Docket createRestApi() { 25 return new Docket(DocumentationType.SWAGGER_2) 26 .apiInfo(apiInfo()) 27 .select() 28 .apis(RequestHandlerSelectors.basePackage("org.wlgzs.swagger2.controller")) 29 .paths(PathSelectors.any()) 30 .build(); 31 } 32 33 private ApiInfo apiInfo() { 34 return new ApiInfoBuilder() 35 // 设置页面标题 36 .title("使用swagger2构建短视频后端api接口文档") 37 // 设置联系人 38 .contact(new Contact("zsh", "http://www.imooc.com", "XXX@163.com")) 39 // 描述 40 .description("欢迎访问短视频接口文档,这里是描述信息") 41 // 定义版本号 42 .version("1.0").build(); 43 } 44 }
用@Configuration注解该类,等价于XML中配置beans;用@Bean标注方法等价于XML中配置bean。加上注解@EnableSwagger2 表示开启Swagger。
三、restful接口
1 package org.wlgzs.swagger2.controller; 2 3 import io.swagger.annotations.Api; 4 import io.swagger.annotations.ApiImplicitParam; 5 import io.swagger.annotations.ApiOperation; 6 import lombok.extern.log4j.Log4j2; 7 import org.springframework.web.bind.annotation.GetMapping; 8 import org.springframework.web.bind.annotation.PathVariable; 9 import org.springframework.web.bind.annotation.RequestParam; 10 import org.springframework.web.bind.annotation.RestController; 11 12 /** 13 * @author zsh 14 * @company wlgzs 15 * @create 2019-02-13 16:01 16 * @Describe 17 */ 18 @RestController 19 @Log4j2 20 @Api(value = "用户控制类") 21 public class UserController { 22 23 @ApiOperation(value="获取信息", notes="根据id来获取信息") 24 @GetMapping("/id") 25 public String a(@RequestParam(value = "id") String id){ 26 log.info("ok"); 27 return "555"; 28 } 29 30 31 }
四、swagger2文档
启动SpringBoot项目,访问 项目地址/swagger-ui.html
五、swagger注解
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiImplicitParam:一个请求参数
- @ApiImplicitParams:多个请求参数
springboot整合swagger2框架
一:什么是SwaggerSwagger是一款通过我们添加的注解来对方法进行说明,来自动生成项目的在线api接口文档的web服务。二:添加Swagger2依赖<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><ve 查看详情
springboot2整合swagger2-plus
目录一.整合swagger21.加依赖2.写配置3.常用注解:4.演示demo5.实际效果查询新增登录二.整合swagger2-plus1.加依赖2.写配置3.实际应用4.最终效果新增登录一.整合swagger21.加依赖<!--引入swagger2--><dependency><groupId>io.springfox</gr... 查看详情
springboot之swagger2集成
一、Swagger2简单介绍 Swagger2,它可以轻松的整合到SpringBoot中,并与SpringMVC程序配合组织出强大RESTfulAPI文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以... 查看详情
springboot整合swagger2使用教程
1.引入依赖<!--依赖管理--><dependencies><dependency><!--添加Web依赖--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>< 查看详情
springboot整合swagger2
手写Api文档的几个痛点:文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。接口返回结果不明确不能直接在线测试接口,通常需要使用工具,比如postman接口文档太多,不好管理 Swagger也就是... 查看详情
springboot整合swagger2
一关于SwaggerSwagger能成为最受欢迎的RESTAPIs文档生成工具之一,有以下几个原因:Swagger可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。Swagger可以生成客户端SDK代码用于各种不同的平台上的实现。Swagger... 查看详情
[idea]springboot整合swagger2实现crud
一:创建SpringBoot,在pom.xml文件中加入jar包 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version></dependenc 查看详情
springboot整合swagger2自动生成restfulapi文档
1)首先编辑pom.xml添加依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><de 查看详情
springboot整合swagger2+knife4j
参考技术A前言:前面文件已经发过swagger2的整合教程SpringBoot整合swagger,本文主要是介绍knife4j。Knife4j是为JavaMVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并且功... 查看详情
springboot整合--swagger2(代码片段)
...tId>spring-boot-starter-web</artifactId></dependency><!--springboot测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--Swagge... 查看详情
一分钟完成springboot项目整合swagger2实现自动生成接口文档
...但本人认为还是利大于弊的。接下来我们将Swagger2整合到springboot项目中,并用swagger-bootstrap-ui对Swagger2进行界面美化,废话不多说,我们开始。。。在pom.xml中导入在application.yml中设置swagger2是否开启的开关,关闭后接口文档被关... 查看详情
企业级springboot落地:swagger2整合并不是那么随便(代码片段)
在前后联调时,一个高质量的接口文档工具是必不可少的。否则就会出现前后台人员不停的来回沟通的现象,浪费大量的时间。在大多数企业的接口文档使用的都是swaager,可能唯一的缺陷就是ui样式不是特别给力。但... 查看详情
springboot1.5.4集成swagger2构建restfulapi(十八)
上一篇博客地址:springboot1.5.4整合rabbitMQ(十七)1 SpringBoot集成Swagger2构建RESTfulAPI文档1.1 Swagger2简介Swagger2官网:http://swagger.io/由于SpringBoot能够快速开发、便捷部署等特性,相信有很大一部分SpringBoo 查看详情
springboot整合swagger,方便后端测试
参考技术A用Swagger能够在后端写好接口后进行测试,测试过程非常方便。Swagger是一个用于生成、描述和调用RESTful接口的Web服务。通俗的来讲,Swagger就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和... 查看详情
springboot之整合swagger2
参考技术A随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了API接口;API文档变成了... 查看详情
spring集成swagger2,提供restfulapi
...绍RESTfulAPI的重磅好伙伴Swagger2,它可以轻松的整合到SpringBoot中,并与SpringMVC程序配合组织出强大RESTfulAPI文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整... 查看详情
springboot学习——springboot快速整合swagger文档
@[toc]简介优点后端根据swagger语法,自动生成漂亮规范的接口文档。做交互测试。劣势侵入式的,影响程序运行,尤其是传参的时候。注意swagger分1.2版本和2.0版本,差异较大。swagger1.2即swagger-ui;swagger2.0即springfox-swagger。本文介... 查看详情
springboot整合swagger来操作api
1.pom.xml<!--Swagger2-RESTfulAPI文档--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.6.1</version> 查看详情