Swagger是什么?

Swagger是一个RESTFUL 接口的文档在线自动生成和功能测试的框架。利用swagger2的注解可以快速的在项目中构建Api接口文档,并且提供了测试API的功能。

Springboot 整合Swagger2

创建Springboot项目,添加相关依赖

<dependencies><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><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

项目结构

Swagger2配置类

@Configuration
@EnableSwagger2
public class Swagger2Configration {/** 创建api文档* */@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()             .apis(RequestHandlerSelectors.basePackage("com.jotal.springboot06swagger2.Controller")) //为该包下的类API文档.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))//为有@Api注解的类生成API文档.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) //为有@ApiOperation注解的方法生成API文档.paths(PathSelectors.any()).build();}/** api文档展示信息* */private ApiInfo apiInfo(){return new ApiInfoBuilder().title("Jotal项目接口文档").description("测试api文档").contact(new Contact("jotal","jotalngu.github.io",null)).version("0.1").build();}}

@Configuration 标注该类为配置类

@EnableSwagger2 启用Swagger2

@Bean 将Docket的实例对象注入Spring ioc容器中

apis 为选择生成Api文档的范围,有三种方式:

  • 生成指定包下面的类的API文档
  • 生成有指定注解的类的API文档
  • 生成有指定注解的方法的API文档

paths(PathSelectors.any()) 表示路径选择器匹配所有路径

实体类

package com.jotal.springboot06swagger2.entity;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;@ApiModel(value = "用户信息")
public class User {@ApiModelProperty(value ="年龄",name = "age")private int age;private String name;//getter、setter、toString和构造器
}

控制类

package com.jotal.springboot06swagger2.Controller;import com.jotal.springboot06swagger2.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.List;@RestController
@RequestMapping("/testApi")
@Api(tags = "用户信息接口")
public class UserController {@GetMapping("/getAllUser")@ApiOperation(value="查询所有", notes="查询所有用户信息")public List<User> getAllUser(){List<User> userList = new ArrayList<>();for(int i=0;i<4;i++){User user = new User();user.setAge(i);userList.add(user);}return userList;}
}

测试

http://localhost:8080/swagger-ui.html
点击Try it out! 就可以测试功能!

转载于:https://www.cnblogs.com/Jotal/p/11317633.html

springboot笔记08——整合swagger2相关推荐

  1. 第十一篇 SpringBoot 2 x整合Swagger2

    程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档. 程序员最讨厌的四件事:写注释.写文档.别人不写注释.别人不写文档-- 关于写文档这个事情,争论已久,今天就 ...

  2. SpringBoot学习笔记(16)----SpringBoot整合Swagger2

    Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...

  3. Swagger的安装以及SpringBoot整合Swagger2实现SwaggerAPI文档测试

    前言 本篇博客是本人在网上学习Swagger所产出的个人笔记.主要内容有: 1.Swagger的安装 2.Swagger的介绍 3.Swagger2中常用的注解 4.快速上手案例 准备工作:Swagg ...

  4. 业务规范之springboot整合swagger2

    业务规范(整合swagger2) ###业务规范之springboot整合swagger2 ###业务规范之统一验证 ###业务规范之统一返回体 ###业务规范之统一异常处理和统一响应 二.整合swa ...

  5. SpringBoot整合Swagger2

    整合Swagger2 1.Swagger介绍 前后端分离开发模式中,api文档是最好的沟通方式. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web ...

  6. springboot整合 swagger2

    springboot整合 swagger2 引入依赖 <!-- swagger --><dependency><groupId>io.springfox</g ...

  7. SpringBoot整合Swagger2教程

    SpringBoot整合Swagger2教程 环境说明 springboot 版本 2.4.4 swagger2 版本 2.9.2 工程准备 创建Springboot工程.这一步不会的可先去Hello ...

  8. Swagger 学习笔记 | Swagger 简介 | Springfox 简介 | Springfox 2.9.2 常用注解 | Spring Boot 整合 Swagger2 案例

    文章目录 一.Swagger 简介 二.Springfox 简介 三.Springfox2.9.2 常用注解 四.SpringBoot 整合 Swagger2 4.1 引入Maven依赖 4.2 项目 ...

  9. 整合swagger2生成Restful Api接口文档

    整合swagger2生成Restful Api接口文档 swagger Restful文档生成工具 2017-9-30 官方地址:https://swagger.io/docs/specificati ...

最新文章

  1. C# EF 基础操作
  2. 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml
  3. 表单开发(一):获取文本框和密码框数据 用户登录网页
  4. Codeforces 1182A Filling Shapes
  5. 20sccm_SCCM 2012安装图解教程(一步一步详细步骤)
  6. XSLT实现XML无极限树(精简版)[二] 解决没有递归出节点属性值总和的问题(JS实现)...
  7. Prometheus监控学习笔记之PromQL简单示例
  8. duilib加载资源
  9. 保护模式下的80386及其编程01:数据类型
  10. ccs定义的函数不变色_ccs使用问题及解决办法
  11. 数据可视化技术有什么特点
  12. 如何使用python获取Windows 10精美的桌面壁纸
  13. python爬虫学习-定制请求头
  14. 【文本匹配】之 经典ESIM论文详读
  15. 爆笑:yuer的作文
  16. 黑群晖docker清理缓存_黑群晖 NAS 瞎折腾 篇一:超简单的docker设置frp内网穿透
  17. 外汇信号服务器,外汇专用云服务器
  18. K歌软件-类似酷我k歌的k歌软件
  19. ASCII、GB2312、GBK、Unicode、UCS-2、UCS-4、UTF-8总结
  20. xsync集群分发脚本

热门文章

  1. ARX开发环境与ARX加载的秘密[转]
  2. php毕业设计网站代写,php社交好代写友网站
  3. Android前沿技术学习——Compose布局原理+配置布局+四大块技术全方面解析
  4. 动力环境监控app是什么
  5. ORA-01008:nbsp;并非所有变量都已绑定
  6. 网站服务器速度变慢的原因,网站打开速度慢的原因,你知道吗?
  7. Dword shoot
  8. 阿里的odps是什么?
  9. 【C++】侯捷:C++面向对象笔记02-不带指针的类:complex
  10. OKhttp Rejecting re-init on previously-failed class Failed resolution of: Lorg/conscrypt/Conscrypt