用Swagger进行后端接口测试的实战操作

目录

一.什么是Swagger?

二.Swagger的使用操作流程:

1.在pom.xml配置文件导入 Knife4j 的依赖:

2.在config配置类中加入 Knife4j 的相关配置并设置静态资源映射(否则接口文档无法访问):

 三.Swagger的四个常用注解:

1.注解介绍:

 2.注解代码演示:

四.Swagger接口文档的效果展示:


一.什么是Swagger?

使用Swagger的时候,按照它的规范去定义接口以及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。

官网:https://swagger.io/

Knife4j是为Java MVC框架集成Swagger生成的Api文档的增强解决方案。 

二.Swagger的使用操作流程:

1.在pom.xml配置文件导入 Knife4j 的依赖:

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version>
</dependency>

2.在config配置类中加入 Knife4j 的相关配置并设置静态资源映射(否则接口文档无法访问):

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {/*** 通过knife4j生成接口文档* @return*/@Beanpublic Docket docket1() {ApiInfo apiInfo = new ApiInfoBuilder().title("****项目接口文档").version("2.0").description("****项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("管理端接口").apiInfo(apiInfo).select()//指定生成接口需要扫描的包.apis(RequestHandlerSelectors.basePackage("com.sky.controller.admin")).paths(PathSelectors.any()).build();return docket;}/*** 设置静态资源映射* @param registry*/protected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");//我们就可以通过url为localhost:8080/doc.html的请求路径查阅接口文档,而生成完接口文档后,这些文件就会放在classpath:/META-INF/resources/路径下}
}

 三.Swagger的四个常用注解:

1.注解介绍:

注解 说明
@Api用在类上,说明该类的作用(例如Controller来表示对类的说明)
@ApiOperation注解来给API增加方法说明(例如Controller的方法来说明方法的用途与作用)
@ApiModel用在类上,描述一个Model的信息(例如entity,DTO,VO)(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty用在属性上,描述一个model的属性

 2.注解代码演示:

 像下面代码一样将注解加在类或方法的上面并加入字符串进行说明。

@RestController("userSetmealController")
@RequestMapping("/user/setmeal")
@Api(tags = "C端-套餐浏览接口")
public class SetmealController {@Autowiredprivate SetmealService setmealService;@GetMapping("/list")@ApiOperation("根据分类id查询套餐")@Cacheable(cacheNames = "setmealCache" , key = "#categoryId")  //key为 setmealCache::100public Result<List<Setmeal>> list(Long categoryId) {Setmeal setmeal = new Setmeal();setmeal.setCategoryId(categoryId);setmeal.setStatus(StatusConstant.ENABLE);List<Setmeal> list = setmealService.list(setmeal);return Result.success(list);}
}

四.Swagger接口文档的效果展示:

我们可以通过下面这样的整洁页面来调用接口进行测试 - > 

 

随后我们就明白可以通过Swagger来代替Postman进行后端的接口测试。


好了,本期内容就介绍到这里,Javaweb的知识还在生成中,记得三连支持以便找不到更多精彩内容,好了感谢收看!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis构建集群时,一直Waiting for the cluster to join

redis构建集群时&#xff0c;一直Waiting for the cluster to join 前置条件参考 前置条件 这是我搭建的集群相关信息&#xff0c;三台虚拟机&#xff0c;分别是一主一从。在将所有虚拟机中redis服务器用到的tcp端口都打开之后&#xff0c;进行构建集群。但是出现上面的情况。 …

node.js包管理工具对比

1. NPM&#xff08;Node Package Manager&#xff09; 特点&#xff1a; 官方工具&#xff1a;由 Node.js 官方提供的默认包管理工具。命令行工具&#xff1a;常用命令包括 npm install、npm update、npm publish 等。NPM 注册表&#xff1a;提供了一个庞大的开源包生态系统&…

【llama3.1】ollama的使用--本地部署使用llama3.1模型

快速入门 安装完成ollama后,在命令行窗口输入 ollama run llama3 上图表示 Ollama 正在下载 llama3 任务所需的资源文件,并显示了当前的下载进度、速度和预计剩余时间。这是 Ollama 在准备运行 llama3 任务之前所需的步骤。 上面的步骤完成后,就可以在本地进行聊天了,…

Chart.js 环形图

Chart.js 环形图 介绍 Chart.js 是一个强大的 JavaScript 图表库&#xff0c;它允许开发者轻松地在网页上创建和自定义各种图表。环形图&#xff08;也称为饼图或甜甜圈图&#xff09;是 Chart.js 支持的一种图表类型&#xff0c;用于展示数据在整体中的占比关系。环形图通过…

基于 HTML+ECharts 实现的数据可视化大屏案例(含源码)

数据可视化大屏案例&#xff1a;基于 HTML 和 ECharts 的实现 数据可视化已成为企业决策和业务分析的重要工具。通过直观、动态的图表展示&#xff0c;数据可视化大屏能够帮助用户快速理解复杂的数据关系&#xff0c;发现潜在的业务趋势。本文将介绍如何利用 HTML 和 ECharts 实…

区块链和数据要素融合的价值及应用

一、数据要素面临的关键障碍 在构建数据要素基石的过程中&#xff0c;首要任务是明确并解决产权架构的难题&#xff0c;特别是使用权的确立与流转机制的顺畅&#xff0c;此乃数字经济蓬勃发展的命脉所在。一个高效的数据流转体系对于激发数据潜能、加速经济发展及优化数据资源…

JVM系列(三) -类加载器及双亲委派模型介绍

在之前的文章中&#xff0c;介绍了类的加载过程中&#xff0c;我们有提到在加载阶段&#xff0c;通过一个类的全限定名来获取此类的二进制字节流操作&#xff0c;其实类加载器就是用来实现这个操作的。 在虚拟机中&#xff0c;任何一个类&#xff0c;都需要由加载它的类加载器…

声音克隆一键本地化部署 GPT-SoVITS

文章目录 GPT-SoVITS 介绍1:GPT-SoVITS安装2:GPT-SoVITS使用2.1 人声伴奏分离,去混响去延时工具2.2 语音切分工具2.3 语音降噪工具2.4 中文批量离线ASR工具2.5 语音文本校对标注工具GPT-SoVITS 介绍 GPT-SoVITS: 是一个由RVC变声器创始人“花儿不哭”推出的免费开源项目。…

WPF多语言国际化,中英文切换

通过切换资源文件的形式实现中英文一键切换 在项目中新建Language文件夹&#xff0c;添加资源字典&#xff08;xaml文件&#xff09;&#xff0c;中文英文各一个。 在资源字典中写上想中英文切换的字符串&#xff0c;需要注意&#xff0c;必须指定key值&#xff0c;并且中英文…

DT浏览器首页征集收录海内外网址

DT浏览器首页征集收录海内外网址&#xff0c;要求页面整洁&#xff0c;内容丰富&#xff0c;知识性和可读性强&#xff0c;符合大众价值观&#xff0c;不含恶意代码

【机器学习】代价函数的几种误差以及代价函数的几个简单示例

引言 在机器学习中&#xff0c;代价函数&#xff08;Cost Function&#xff09;是一个评估模型性能的关键工具&#xff0c;它衡量了模型预测值与实际值之间的差异。代价函数通常用于监督学习&#xff0c;特别是在需要预测目标值的情况下&#xff0c;如回归问题或分类问题 文章目…

自定义时长裁切视频

人脸检测与定位&#xff1a; find_host_face_location&#xff1a;在视频的前几秒内快速检测并定位主持人的人脸&#xff0c;缩小帧尺寸以提高处理速度。 裁剪框计算&#xff1a; calculate_cropping_box&#xff1a;基于检测到的人脸位置&#xff0c;计算一个适合的裁剪框&…

c#自动关闭 MessageBox 弹出的窗口

第一种方法&#xff1a; 原理&#xff1a; 1、我们都知道,MessageBox弹出的窗口是模式窗口,模式窗口会自动阻塞父线程的&#xff0c;只有关闭了MessageBox的窗口后才会运行下面的代码。 2、所以可以考虑在MessageBox前先增加一个用于“杀”掉MessageBox窗口的线程。因为需要…

React好用的组件库有哪些

React好用的组件库有很多&#xff0c;它们各自具有不同的特点和优势&#xff0c;适用于不同的开发场景和需求。以下是一些受欢迎的React组件库及其特点&#xff1a; Material-UI&#xff08;现更名为MUI&#xff09; 特点&#xff1a;这是一个开源的React组件库&#xff0c;实…

学术研讨 | 区块链与隐私计算领域专用硬件研讨会顺利召开

学术研讨 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 近日&#xff0c;国家区块链技术创新中心主办&#xff0c;长安链开源社区支持的“区块链性能优化与融合技术研讨会”顺利召开。当前&#xff0c;区块链与新技术之间的交叉融合和协同创新正成为显…

04 B端产品经理能力培养

B端产品经理能力模型 通用能力 学习能力 沟通能力 行业融入感主人翁精神 心态和情商 专业素养 责任心 自驱力、执行力 基础认知 产品行业认知&#xff1a;当前公司的产品所属细分领域、所处行业趋势、提供怎样的服务、产品和方案解决了客户哪些问题。 产品聚焦领域&a…

springboot+webSocket对接chatgpt

webSocket对接参考 话不多说直接上代码 WebSocket package com.student.config;import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springfram…

深度学习论文精读

深度学习论文精读 所有论文 包括已经精读完成和之后将要精读的论文&#xff0c;10年内深度学习里有影响力文章&#xff08;必读文章&#xff09;&#xff0c;或者近期比较有意思的文章。 感谢沐神&#xff01; 总论文数 67&#xff0c;阅读完成数 32 计算机视觉 - CNN 已…

前端笔试全攻略:30道经典面试题详解

引言 前端开发是一个充满挑战与机遇的领域&#xff0c;随着Web技术的不断发展&#xff0c;前端工程师需要掌握的知识体系也在不断扩展。无论是刚入门的新手还是资深开发者&#xff0c;在求职过程中都会面临各种技术笔试。本文将为你提供30道常见的前端笔试题及其详尽解答&…

FLINKCDC连接oracle导致归档日志暴增

前言 前段时间再用flinkcdc连接oracle的时候&#xff0c;oracle的归档日志疯狂的飙升,我经常去到归档目录下查看占用的内存情况。。 情况 在使用flinkcdc连接oracle的时候&#xff0c;发现归档日志飙升&#xff0c;查看了很多文档&#xff0c;该配置了都配置了&#xff0c; …