项目中整合Swagger2

  • 1、什么是swagger2
  • 2、常用注解
  • 3、项目中整合Swagger2
    • 3.1、引入Swagger2依赖
    • 3.2、编写swgger2配置类代码
    • 3.3、在需要测试的模块中引入有swagger2的模块坐标
    • 3.4、使用swagger2测试

1、什么是swagger2

编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。

2、常用注解

swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

  • @Api:修饰整个类,描述Controller的作用
  • @ApiOperation:描述一个类的一个方法,或者说一个接口
  • @ApiParam:单个参数描述
  • @ApiModel:用对象来接收参数
  • @ApiModelProperty:用对象接收参数时,描述对象的一个字段
  • @ApiImplicitParam:一个请求参数
  • @ApiImplicitParams:多个请求参数

3、项目中整合Swagger2

3.1、引入Swagger2依赖

  <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version><scope>compile</scope></dependency>

3.2、编写swgger2配置类代码

import com.google.common.base.Predicates;
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.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** Swagger2配置信息*/
@Configuration
@EnableSwagger2
public class Swagger2Config {@Beanpublic Docket webApiConfig(){return new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select()//只显示api路径下的页面.paths(Predicates.and(PathSelectors.regex("/api/.*"))).build();}@Beanpublic Docket adminApiConfig(){return new Docket(DocumentationType.SWAGGER_2).groupName("adminApi").apiInfo(adminApiInfo()).select()//只显示admin路径下的页面.paths(Predicates.and(PathSelectors.regex("/admin/.*"))).build();}private ApiInfo webApiInfo(){return new ApiInfoBuilder().title("网站-API文档").description("本文档描述了网站微服务接口定义").version("1.0").contact(new Contact("baidu", "http://baidu.com", "123456789@qq.com")).build();}private ApiInfo adminApiInfo(){return new ApiInfoBuilder().title("后台管理系统-API文档").description("本文档描述了后台管理系统微服务接口定义").version("1.0").contact(new Contact("baidu", "http://baidu.com", "123456789@qq.com")).build();}}

3.3、在需要测试的模块中引入有swagger2的模块坐标

如下图所示,因为service文件下的子模块中要编写业务代码。进行业务测试。所以在service的pom.xml文件中引入有swagger模块的坐标。
service文件下的子模块都可以使用该功能。

3.4、使用swagger2测试

启动service_hosp主程序:

输入网址:http://localhost:8201/swagger-ui.html

Swagger2介绍及使用相关推荐

  1. 项目环境搭建,数据库,以及Swagger2介绍(二)

    文章目录 一.数据库设计 二.数据库设计规约 三.工程结构介绍 四.创建父工程 五.搭建service模块 六.搭建service-edu模块 七.讲师管理模块配置 八.编写后台管理api接口 九.讲 ...

  2. Swagger2介绍

    前后端分离开发模式中,api文档是最好的沟通方式. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 及时性 (接口变更后,能够及时准确地通 ...

  3. swagger2 介绍+注解说明

    简介: 为什么要用swagger,我的理由是方便,作为后端开放人员,最烦的事就是自己写接口文档和前端交互是不是需要各种参数很繁琐,项目集成swagger后就能自动生成接口文档,做到前端.后端联调接口文 ...

  4. springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j

    文章目录 导言 一.swagger2介绍 二.springBoot-swagger2实战演练 1. 快速创建项目 2. 引入是swagger2 依赖 3. swagger2 常用注解 4. ==配置 ...

  5. 项目配置Swagger2生成API接口文档

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

  6. 实验管理系统springboot+vue+element ui项目开发

    实验管理系统 某学院实验老师长期采用人工的形式完成药品试剂的入库.查询.出库的流程.但这种方式存在诸多问题和不便: 1. 在仓库运行流程中效率不高,容易出错. 2. 管理人员不能方便的了解每种物品的状 ...

  7. 预约挂号系统技术点详解(一)

    一.Swagger2介绍与集成 1. swagger2介绍 ⑴ 什么是swagger2 编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心 ...

  8. 用 Swagger 测试任务分配问题中的 API

    一 Swagger2 介绍 1 什么是swagger2 编写和维护接口文档是每个程序员的职责,根据 Swagger2 可以快速帮助我们编写最新的 API 接口文档,再也不用担心开会前仍忙于整理各种资料 ...

  9. 项目中Swagger2、lombok(小辣椒)、以及短信API的调用 简单介绍

    一.使用Swagger2实时生成接口文档(分布式系统使用) Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为 ...

最新文章

  1. ios(iphone/ipad)一个简单的用代码判断当前设备的方法
  2. Protocol基本概念
  3. 【NLP】四万字全面详解 | 深度学习中的注意力机制(二)
  4. [js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点?
  5. UOJ #34. 多项式乘法
  6. 双纵坐标的绘图命令_Matplotlib绘图 | 快速定义图表样式的小技巧
  7. PYTHON自动化Day9-发邮件、面向对象、类、私有、继承
  8. sublime每次打开时都提示升级,怎么取消这个弹出框?
  9. 13G311-1 混凝土结构加固构造 免费下载
  10. Sql2Bean代码生成器
  11. linux中彻底卸载mysql_Linux下彻底卸载mysql详解
  12. 如何从道客巴巴上下载收费文档之我见
  13. python 写文件 换行_python写文件怎么换行
  14. ubuntu下查看显卡型号
  15. ISO8583接口的详细资料
  16. 如何提高接口自动化测试的有效性覆盖和案例有效性
  17. 【操作系统】进程和线程调度
  18. java计算机毕业设计高校体育器材及场地管理MyBatis+系统+LW文档+源码+调试部署
  19. 合乘matlab,求由参数方程 确定的函数的导数 (10.0分)
  20. iOS App主题皮肤切换功能简介和具体实现详解 附有源码

热门文章

  1. MSP430F5529学习笔记(5)——按键切换灯的亮灭
  2. rethinking imagenet pre-training
  3. android 分析preference,Android中删除Preference详解
  4. 为什么样本方差计算是除以n-1?
  5. FileDescriptor详解
  6. 各类视频教程--米学网
  7. 关于opencv中 THRESH_TRUNC 参数的疑惑
  8. Send Anywhere
  9. java生成宣传海报
  10. CSS3实现镂空文字