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

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.hqwc.cn/news/660579.html

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

相关文章

net lambda 、 匿名函数 以及集合(实现IEnumerable的 如数组 、list等)

匿名函数&#xff1a;》》》 Action a1 delegate(int i) { Console.WriteLine(i); }; Lambda:>>> Aciont a1 (int i) > { Console.WriteLine(i); }; 可以简写 &#xff08;编译器会自动根据委托类型 推断&#xff09; Action a1 &#xff08;i&#xff09;> {…

Scala 多版本下载指南

Scala&#xff0c;这一功能丰富的编程语言&#xff0c;结合了面向对象和函数式编程的精华&#xff0c;为开发者提供了强大的工具来构建高效、可扩展的应用程序。随着Scala社区的不断壮大和技术的演进&#xff0c;多个版本的Scala被广泛应用于不同的项目与场景中。本文旨在为您提…

WSL2如何部署 Xinference

环境&#xff1a; WSL2 Ubuntu22.04 问题描述&#xff1a; WSL2如何部署 Xinference Xinference是一个用于加速和优化深度学习推理的平台。它提供了高性能、低延迟的推理解决方案&#xff0c;帮助开发者在生产环境中更高效地部署他们的深度学习模型。Xinference支持多种硬…

AQS共享模式之CyclicBarrier

概念&#xff1a;CyclicBarrier翻译为循环(屏障/栅栏)&#xff0c;当一组线程到达一个屏障&#xff08;同步点&#xff09;时被阻塞&#xff0c;直到最后一个线程到达屏障时&#xff0c;屏障才会打开&#xff0c;所有被屏障拦截的线程才会继续工作。 设计目的&#xff1a;和Co…

VTK —— 二、教程五 - 通过鼠标事件与渲染交互(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

从Paint 3D入门glTF

Paint 3D Microsoft Paint 3D是微软的一款图像编辑软件&#xff0c;它是传统的Microsoft Paint程序的升级版。 这个新版本的Paint专注于三维设计和创作&#xff0c;使用户可以使用简单的工具创建和编辑三维模型。 Microsoft Paint 3D具有直观的界面和易于使用的工具&#xff0…

[游戏陪玩系统] 陪玩软件APP小程序H5游戏陪玩成品软件源码-线上线下可爆改家政,整理师等功能

简介 随着电竞行业的快速发展&#xff0c;电竞陪玩APP正在逐渐成为用户在休闲娱乐时的首选。为了吸引用户和提高用户体验&#xff0c;电竞陪玩APP开发需要定制一些特色功能&#xff0c;并通过合适的盈利模式来获得收益。本文将为您介绍电竞陪玩APP开发需要定制的特色功能以及常…

微信小程序实现九宫格

微信小程序使用样式实现九宫格布局 使用微信小程序实现九宫格样式&#xff0c;可以直接使用样式进行编写&#xff0c;具体图片如下&#xff1a;1、js代码&#xff1a; Page({/*** 页面的初始数据*/data: {current: 4},// 监听activeClick(e) {let index e.currentTarget.dat…

为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用

本文介绍了某省妇幼健康管理系统的建设和数据库架构优化的过程。原有的数据库架构使用了 StarRocks 作为分析层&#xff0c;但随着业务的发展&#xff0c;这套架构暴露出诸多痛点&#xff0c;不再适应妇幼业务的需求。为解决这些问题&#xff0c;该系统选择了将原有架构中的 St…

Cesium 3dTileset 支持 uv 和 纹理贴图

原理: 使用自定义shader实现uv自动计算 贴图效果: uv效果:

详细说说msvcp120.dll丢失的解决方法,如何有效解决文件丢失问题

用户遇到的问题是"msvcp120.dll"文件丢失&#xff0c;这会导致无法正常运行与C相关的程序。因为"msvcp120.dll"是Visual C Redistributable Package中的一个重要组件&#xff0c;若缺少该文件&#xff0c;系统将无法找到运行所需的功能&#xff0c;从而导致…

CSS @keyframes 动画:颜色变化、背景旋转与放大缩小

在CSS中&#xff0c;keyframes 是一个强大的工具&#xff0c;它允许我们创建复杂的动画效果。今天&#xff0c;我们将一起探索如何使用 keyframes 来实现颜色变化、背景旋转以及放大缩小的动画效果。 动画会在 2 秒内循环播放&#xff0c;并在不同的时间点改变盒子的背景颜色和…