一 Swagger2 介绍

1 什么是swagger2

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

2 常用注解

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

  • @Api:修饰整个类,描述 Controller 的作用

  • @ApiOperation:描述一个类的一个方法,或者说一个接口

  • @ApiParam:单个参数描述

  • @ApiModel:用对象来接收参数

  • @ApiModelProperty:用对象接收参数时,描述对象的一个字段

  • @ApiImplicitParam:一个请求参数

  • @ApiImplicitParams:多个请求参数

二 Swagger2 集成

1 项目整合 Swagger2

在 common 模块 pom.xml 引入依赖

<!-- swagger -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId>
</dependency>

说明:在 sdgt-parent 中的 pom.xml 中添加了版本控制,这里不需要添加版本。

2  添加 swagger2 配置类

在 service-util 模块添加配置类

/**
* @className: Swagger2Config
* @description: Swagger2配置信息
* @date: 2021/10/4
* @author: cakin
*/
@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("baiyee", "http://www.baiyee.cn/", "798103175@qq.com")).build();}private ApiInfo adminApiInfo() {return new ApiInfoBuilder().title("后台管理系统-API文档").description("本文档描述了后台管理系统微服务接口定义").version("1.0").contact(new Contact("baiyee", "http://www.baiyee.cn/", "798103175@qq.com")).build();}
}

3 给控制器加上 swagger 的注解

// 查询医院所有信息
@ApiOperation(value = "获取所有医院")
@GetMapping("findAll")
public Result findAllHospitalSet() {// 调用 service 的方法List<Hospital> list = hospitalService.list();return Result.ok(list);
}// 逻辑删除医院
@ApiOperation(value = "逻辑删除医院")
@DeleteMapping("{id}")
public Result removeHospSet(@PathVariable String id) {boolean flag = hospitalService.removeById(id);if (flag) {return Result.ok();} else {return Result.fail();}
}

4 使用 swagger2 测试

a 主页面

b 查询

c 逻辑删

逻辑删后,数据库表结果

用 Swagger 测试任务分配问题中的 API相关推荐

  1. 浅析如何在Nancy中生成API文档

    前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知 ...

  2. 使用Swagger服务搭建.Net Core API

    使用Swagger服务搭建.Net Core API 创建.Net Core API 新建项目.文件--新建--项目 选择应用程序模板. 设置存放路径,命名方案名称. 创建API. 搭建成功. 使用S ...

  3. 如何在.NET Core中创建API

    目录 实现目标 什么是API? 什么是JSON? 步骤1:运行Dotnet命令 步骤2:探索您的项目 步骤3:设定环境 步骤4:建立模型 步骤5:创建控制器 第6步:将Swagger添加到您的项目 步 ...

  4. swagger -- 前后端分离的API接口

    文章目录 一.背景 二.swagger介绍 三.在maven+springboot项目中使用swagger 四.swagger在项目中的好处 五.美化界面 参考链接: 5分钟学会swagger配置 参 ...

  5. tensorflow2.0中dataset API 总结

    tensorflow2.0中data API 总结 tf.data.Dataset.list_files(filename) 参数:filename:文件路径或者文件路径列表,如:'-/csvData ...

  6. [转]在C#中使用API回调函数的方法

    在C#中使用API回调函数的方法 就以EnumChildWindows和EnumChildProc为例子: 首先要声明EnumChildProc 为一个回调函数 public delegate boo ...

  7. 在使用postman中操作api接口测试403解决方法

    在使用postman中操作api接口测试403解决方法 参考文章: (1)在使用postman中操作api接口测试403解决方法 (2)https://www.cnblogs.com/xiaoyayu ...

  8. shellcode中动态定位API

    定位API的原理: 所有的win_32程序都会加载ntdll.dll和kerner32.dll这两个最基础的动态链接库.如果想要在win_32平台下定位kernel32.dll中的API地址 1,首先 ...

  9. appium 中部分 api 的使用方法

    使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc. 1.使用Andr ...

最新文章

  1. 2022-2028年中国丁二烯橡胶行业市场规模研究及前瞻分析报告
  2. Redis 模糊匹配 SearchKeys
  3. revit如何根据坐标进行画线_在工程设计中如何根据工艺阀门的结构与特点来进行设计呢?...
  4. web前端页面——移动端简单登录页面、下拉菜单(代码详细注释)
  5. 新的一年到来了,我要做的第一件事是放弃……
  6. Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元
  7. python自学行吗-自学Python可以吗?怎样从入门到大师?我写这篇文章告诉你
  8. ABP:在多语句事务内不允许使用 CREATE DATABASE 语句
  9. python 三维图片 任意切片_python实现对任意大小图片均匀切割的示例
  10. 空间复杂度和时间复杂度
  11. 最齐全的地面贴图素材,速来收藏
  12. 16Aspx.com源码2014年7月详细
  13. 【Ignite】使用数据库软件DBeaver管理Apache Ignite
  14. oBlog 4.0 正式版 2006-09-06
  15. dubbo源码分析-dubbo-serialization
  16. MySQL数据库 - 复杂查询(二)第二关
  17. 内网渗透-cs之模拟钓鱼攻击
  18. 简易计算机在线使用方法,jQuery实现简单在线计算器方法
  19. 【安卓逆向】360加固-脱壳修复
  20. 尚学堂Java学习第四章课后编程题作业参考答案

热门文章

  1. v16_G120调试电机优化编程
  2. G120变频器同时拖动多台电机时的参数设置
  3. 哈夫曼压缩(一)——英文文本
  4. 在浙江大学做全校单点登录接入的心得体会,采用sun公司的单点登录技术
  5. php捐赠物品管理系统
  6. 腾讯位置 - 逆地址解析(结尾附视频)
  7. 数据告诉你,剧版“浪姐“-《三十而已》凭什么这么戳中观众的心
  8. Fabric 1.0源代码分析(7)configtx(配置交易) #configtxgen(生成通道配置)
  9. ImageMagick 与 JMagick去除水印
  10. 输出月份英文名java_编写一个程序,输入月份号,输出该月的中文名和英文名。...