Spring Boot的热部署工具“AND”Swagger测试工具

news2025/2/25 3:43:40

Spring Boot的热部署&Swagger测试页面的使用

热部署指的是在项目无需重启的情况下,只需要刷新页面,即可获得已经修改的样式或功能。要注意该工具一般用于开发环境,在生产环境中最好不要添加这个工具。

对于无需重启便可刷新这么方便的工具,在项目中该如何使用:

在spring boot 项目中使用工具的方法就是引入相关依赖,热部署工具的依赖如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

只需要将其映入pom.xml文件中,待刷新maven后,该功能部署成功,在以后修改代码只需要刷新网页,即可得到修改后的网页。

Swagger测试工具

首先来看一下swagger工具的创建初衷,该工具的创建是为了解决在微服务中,成千上万的接口文档难以使用人工进行维护的问题,通过对代码添加注解,swagger可以自动生成交互式的api文档,极大的便利了人们对接口文档的修复过程,且降低了维护成本。

swagger工具是一个使用API的集合,可以帮助开发者设计、构建、项目文档化使用Http传输协议。

项目中如果需要添加swagger工具时,需要在文件中引入依赖,pom.xml中添加相关依赖:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

启动项目后就可以通过浏览器去访问swagger UI通常地址为http://127.0.0.1:8080(项目启动的端口号)/swagger-ui.html就可以访问并查看和测试API了。

访问界面如下:

在这里插入图片描述

在使用swagger进行测试时,测试人员需要对代码添加注解。swagger的注解分为三种:

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@Api(tags = "接口名称") //用于整个类的注解方式,一般放在类的最上面
@ApiOperation("方法名称")//在类中需要测试的方法前进行注解
@ApiParam("字段名称")//在属性前进行注解

每添加一个Api类注解,在界面上就会多出一个选项,需要注意的是Api类注解一般是用于controller方法中展开测试。如对一个方法添加了@Api(tags="测试")

在这里插入图片描述

具体代码添加项如下:

@Api(tags = "测试")
@RestController
@RequestMapping("自己项目的url")
public class UploadController {
    //具体方法内容
}

以上是对类的添加,接下来是对类中方法添加注解@ApiOperation("方法名称")

@ApiOperation("图片上传")
@PostMapping("/upload")
public ResponseEntity<?> uploadFile(HttpServletRequest request, @RequestParam("file") MultipartFile file){
    //方法实现内容
}

在类中添加示例方法后访问浏览器:

在这里插入图片描述

可以看到方法名,那么这就是接口测试的第一步。不要忘了还有一个注解未使用到@ApiParam("字段名称")在属性前面添加整个注解,就可以对这个输入框进行测试。

点击图标上的绿色按钮Try it out

在这里插入图片描述

接着,你就可以对该接口进行测试了,记得多尝试几次,当然当你点击完Exacute时在页面下方可以看到接收到的数据内容。返回的数据内容是与开发者习惯息息相关的,个人这里建议使用简单一点的自定义异常,帮助开发者快速定位错误。

当然当你点击完Exacute时在页面下方可以看到接收到的数据内容。返回的数据内容是与开发者习惯息息相关的,个人这里建议使用简单一点的自定义异常,帮助开发者快速定位错误。

以上就是关于Java两个小工具的分享,谢谢大家观看!

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

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

相关文章

JAVA面试题分享---多线程与线程池

多线程 什么是线程?线程和进程的区别?&#xff08;了解&#xff09; 线程&#xff1a;是进程的一个实体&#xff0c;是 cpu 调度和分派的基本单位&#xff0c;是比进程更小的 可以独立运行的基本单位。 进程&#xff1a;具有一定独立功能的程序关于某个数据集合上的一次运…

edge 入门基础了解使用

随着Windows 11的发布&#xff0c;Microsoft Edge也迎来了新的更新和改进。作为一名长期使用Edge的用户&#xff0c;我不仅注意到了这些表面的变化&#xff0c;还深入研究了Edge在Windows 11上的新特性和潜在优势。 快捷方式 查找框 在Microsoft Edge浏览器中&#xff0c;按…

经典网络解读——EfficientnetV2

论文&#xff1a;EfficientNetV2: Smaller Models and Faster Training&#xff08;2021.4&#xff09; 作者&#xff1a;Mingxing Tan, Quoc V. Le 链接&#xff1a;https://arxiv.org/abs/2104.00298 代码&#xff1a;https://github.com/google/automl/tree/master/efficien…

Docker容器---docker-Consul部署

一、Docker-consul简介 1、概述 consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法&#xff0c;用来保证服务的高可用。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多…

一、交换网络基础

目录 1.交换机的转发行为 2.数据帧的类型 3.ARP地址解析步骤 Hub&#xff1a;物理层设备 交换机&#xff1a;数据链路层设备 1.交换机的转发行为 泛洪&#xff08;Flooding&#xff09;&#xff08;有可能是单播帧&#xff08;未知单播帧&#xff09;&#xff0c;也有可能是…

一文解决ArcGIS生成点和管段 含案例讲解

背景 在工作中&#xff0c;我们经常遇到要将坐标数据导入 GIS&#xff0c;生成点位&#xff0c;若是地理坐标系&#xff08;经纬度&#xff09;&#xff0c;那么直接用 arcgis或者QGIS 导入数据就行了&#xff0c;可实际中总会遇到各种问题&#xff1a; 坐标数据集为大地 200…

SQLite数据库添加密码

背景&#xff1a; 最近发现软件在运行过程中&#xff0c;数据库文件暴露在外面&#xff0c;而且直接拷贝后就能打开&#xff0c;发现这样来说数据并不是很安全我使用的开发环境是VS QT&#xff0c;使用navicat创建了一个数据库准备 百度搜索了一些资料和博客&#xff0c;发现…

kube-prometheus部署到 k8s 集群

文章目录 **修改镜像地址****访问配置****修改 Prometheus 的 service****修改 Grafana 的 service****修改 Alertmanager 的 service****安装****Prometheus验证****Alertmanager验证****Grafana验证****卸载****Grafana显示时间问题** 或者配置ingress添加ingress访问grafana…

《深入解析WIndows操作系统》第9章读书笔记

1、闪存类型&#xff1a;常见的闪存类型有NOR和NAND。NOR闪存在操作上最接近RAM&#xff0c;它的每个字节都可以被独立地寻址&#xff0c;而NAND闪存则被组织成以块为单位&#xff0c;就像磁盘一样。NOR类型的闪存用来设计保存计算机主板上的BIOS&#xff0c;而NAND类型的闪存被…

Go语言的包管理工具go mod与之前的GOPATH有什么区别?

在深入探讨Go语言的包管理工具go mod与之前的GOPATH之间的区别之前&#xff0c;我们首先需要理解这两个概念各自的作用和背景。 GOPATH时代 在Go语言早期版本中&#xff0c;GOPATH是一个非常重要的环境变量。它告诉Go工具链在哪里查找你的Go代码、第三方库以及编译后的二进制…

字节跳动(社招)四面算法原题

TikTok 进展 又是一期定时汇报 TikTok 进展的推文。 上周&#xff0c;美国总统拜登签署了价值 950 亿美元的一揽子对外援助法案。 该法案涉及强制字节跳动剥离旗下应用 TikTok 美国业务&#xff0c;即 针对 TikTok 非卖即禁的"强抢行为"开始进入九个月&#xff08;27…

JWT是什么?如何使用?

JWT是什么&#xff1f;如何使用&#xff1f; 前言什么是JWT&#xff1f;概念工作方式JWT的组成HeaderPayloadSignatrue 实战引入依赖自定义注解定义实体类定义一个JWT工具类业务校验并生成token定义拦截器配置拦截器定义接口方法并添加注解开始验证 使用场景注意事项 JWT与传统…

【练习1】

1.字符串最后一个单词的长度 #include <iostream> #include<string> using namespace std;int main() {string a;int res,i,flag;flag1;i0;getline(cin,a);res0;while(flag1){if(a[i]! ){resres1;}else{res0;}if(ia.length()-1){flag-1;}i;}cout<<res<<…

服务器遭受攻击后的黑洞状态应对策略及防护机制解析

引言 在网络安全领域中&#xff0c;当服务器遭受大规模DDoS攻击或其他恶意流量冲击时&#xff0c;为了保护服务的稳定性和其他正常用户的使用体验&#xff0c;往往会采取一种紧急防护手段——将服务器置于黑洞状态。所谓黑洞状态&#xff0c;即网络服务商暂时屏蔽掉对服务器的…

与Apollo共创生态:让汽车更聪明,让出行更简单

目录 前言Apollo X 企业解决方案Studio X 企业协同开发工具链Apollo开放平台携手伙伴共创生态Apollo开发平台生态共创计划 前言 百度2013年开始布局自动驾驶&#xff0c;2017年推出全球首个自动驾驶开放平台Apollo。目前百度Apollo已经在自动驾驶、智能汽车、智能地图等领域拥有…

Agisoft Metashape 自定义底图

Agisoft Metashape 自定义底图 前言 Agisoft Metashape 从2.0.2 版本开始,Agisoft Metashape Professional 和 Agisoft Viewer 支持自定义底图,可用于模型和正射视图模式。本文以添加Esri World Image卫星底图图源为例,介绍Agisoft Metashape 自定义底图的方法。 添加自定…

STM32F103(Cubemx)驱动ST7789

源码来源&#xff1a; 中景园电子的标准库使用SPI驱动ST7789的TFT_LCD彩屏&#xff0c;将标准库修改为HAL库使用 Cubemx配置&#xff1a; 时钟配置 SPI配置&#xff1a; 引脚配置 源码修改 修改原有的SPI发送函数&#xff0c;并把原有的引脚初始化注释&#xff0c;不需要…

smac 路径优化器分析——距离成本和代价地图成本分析

参考 泰勒级数直观详解 前向差分&#xff0c;后向差分&#xff0c;中心差分 相关文章 smac 路径优化器分析——平滑度成本分析 smac 路径优化器分析——曲率成本分析 距离成本 距离成本函数 用优化后的点与原路径点的欧氏距离的平方作为成本。 下图中蓝色原点是原路径点…

73、栈-柱状图中最大的矩形

思路&#xff1a; 矩形面积&#xff1a;宽度*高度 高度如何确定呢&#xff1f;就是在宽度中最矮的元素。如何确定宽度&#xff0c;就是要确定左右边界。 当我们在处理直方图最大矩形面积问题时&#xff0c;遇到一个比栈顶柱子矮的新柱子时开始计算面积的原因关键在于如何确定…

大数据组件之Storm详解

Storm 是一个免费并开源的分布式实时计算系统&#xff0c;具有高容错性和可扩展性。它能够处理无边界的数据流&#xff0c;并提供了实时计算的功能。与传统的批处理系统相比&#xff0c;Apache Storm 更适合处理实时数据。 让我们深入了解一下 Storm&#xff1a; 1.Storm 简介…