【Java】SpringMVC参数接收(一)
1、接收单个参数
(1)直接接收参数
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("/t2")public String t2(String name){return "name=" + name;}
}

当没有传入参数时,返回null
(2)包装类接收
如果我们换成int,再次看看结果
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("/t2")public String t2(String name){return "name=" + name;}
}

postman报错。报错提示我们应该使用包装类
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t4")public String t4(Integer age){return "age=" + age;}
}

不传参数时,返回null,不再报错
SpringMVC接收参数时最好使用包装类
2、多个参数
(1)直接写
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t5")public String t5(String name,Integer age){return "name=" + name + ", " + "age=" + age;}
}

(2)使用类包装
UserInfo类
public class UserInfo {private String name;private int age;private int id;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}@Overridepublic String toString() {return "UserInfo{" +"name='" + name + '\'' +", age=" + age +", id=" + id +'}';}
}
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t6")public String t6(UserInfo userInfo){return userInfo.toString();}
}

3、修改参数名
后端接收参数的名字是跟前端保持一致的,因此我们要使用其他参数名时,则要对其进行修改
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t7")public String t7(@RequestParam("name")String username){return "name=" + username;}
}
//@RequestParam()中所写的是本来的参数名
//String后写的是修改后的参数名

但是如果不传入参数,就会报错

可见,上述修改参数是强制传入参数。为了能不报错,我们使参数required为false
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t7")public String t7(@RequestParam(value = "name",required = false)String username){return "name=" + username;}
}

这样就算不传入参数,也不会报错
4、接收数组参数
(1)直接传数组
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t8")public String t8(String[] arr){return Arrays.toString(arr);}
}

(2)传集合
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t9")public String t9(@RequestParam(value = "list",required = false)List<String> list){return list.toString();}
}

相关文章:
【Java】SpringMVC参数接收(一)
1、接收单个参数 (1)直接接收参数 RequestMapping("/hello") RestController public class HelloSpring {RequestMapping("/t2")public String t2(String name){return "name" name;} } 当没有传入参数时,返…...
File类知识点回顾
File类简介 File 是文件和目录路径名的抽象表示。 用户界面和操作系统使用依赖于系统的路径名字符串来命名文件和目录。 此类提供了一个抽象的,与系统无关的分层路径名视图。 抽象路径名有两个组成部分:可选系统有关的前缀字符串,如磁盘驱动…...
2024新版68套Axure RP大数据可视化大屏模板及通用组件+PSD源文件
Axure RP数据可视化大屏模板及通用组件库2024新版重新制作了这套新的数据可视化大屏模板及通用组件库V2版。新版本相比于V1版内容更加丰富和全面,但依然秉承“敏捷易用”的制作理念,这套作品也同样延续着我们对细节的完美追求,整个设计制作过…...
Optional lab: Linear Regression using Scikit-LearnⅠ
scikit-learn是一个开源的、可用于商业的机器学习工具包,此工具包包含本课程中需要使用的许多算法的实现 Goals In this lab you will utilize scikit-learn to implement linear regression using Gradient Descent Tools You will utilize functions from sci…...
CentOS使用
1.使用SSH连接操作虚拟机中的CentOS 使用代理软件(MobaX/Xshell)通过ssh连接vmware中的虚拟机,可以摆脱vmware笨重的软件,直接在代理软件中进行操作. 包括使用云虚拟器,其实也只是在本地通过ssh连接别处的云服务商的硬件而已. 1.1 配置静态IP 为什么要配置静态IP? 想要使用…...
[SWPUCTF 2018]SimplePHP1
打开环境 有查看文件跟上传文件,查看文件里面显示没有文件url貌似可以文件读取 上传文件里面可以上传文件。 先看一下可不可以文件读取 /etc/passwd不能读取,源码提示flag在f1ag.php 看看能不能读取当前的文件, 先把代码摘下来 file.php …...
api管理工具的新发现
一、之前用过的api管理工具 关于api管理工具,之前用过yapi和postman,但是后来发现了这两个工具 二、新发现的更强大的:Apifox和Eolink Apifox和Eolink,那这两个工具有什么优势呢? 2.1Apifox 其中 Apifox Postman …...
2024 年 eBPF 和网络趋势预测
本文地址:2024 年 eBPF 和网络趋势预测 | 深入浅出 eBPF 1. eBPF 1.1 eBPF 将继续呈指数增长1.2 eBPF 应用市场1.3 eBPF 在手机中得到更广泛的应用1.4 eBPF 滥用带来的风险2. 可观测 2.1 最受欢迎的可观测性2.2 降低可观测性开销2.3 上下文感知的 Kubernetes 工作负…...
2024.1.27 GNSS 学习笔记
1.精确的描述轨道的一组数据(星历)是实现精确定位与导航的基础。 2.GNSS卫星广播星历的提供方式一般有两种:一种是提供开普勒轨道参数和必要的轨道摄动改正项参数,如GPS、BDS、Galileo三大系统采用此种模式,还有QZSS系统;另一种是…...
Unity - 将项目转为HDRP
Camera window -> Package Manager 之后会出现HDRP向导窗口,均点击修复。 在Edit中,更改项目中的材质...
ETCD高可用架构涉及常用功能整理
ETCD高可用架构涉及常用功能整理 1. etcd的高可用系统架构和相关组件1.1 Quorum机制1.2 Raft协议 2. etcd的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 强行拉起新集群 --force-new-cluster2.2.2 兼容磁盘io性能差2.2.3 etcd存储quota 3. etcd常用命令3.1 常用基础命令3.1.1 列…...
深度学习中RGB影像图的直方图均衡化python代码and对图片中指定部分做基于掩模的特定区域直方图均衡化
深度学习很重要的预处理步骤 就是需要对做直方图均衡化 其中主要分成灰度图以及RGB图的直方图均衡化 这俩的方法和代码不同 想要去看具体原理的朋友可以查看下面这篇博客的内容 写的很详细颜色直方图均衡化(https://www.cnblogs.com/wancy/p/17668345.html) 我们这个场景中会用…...
PyTorch深度学习实战(33)——条件生成对抗网络(Conditional Generative Adversarial Network, CGAN)
PyTorch深度学习实战(33)——条件生成对抗网络 0. 前言1. 条件生成对抗网络1.1 模型介绍1.2 模型与数据集分析 2. 实现条件生成对抗网络小结系列链接 0. 前言 条件生成对抗网络 (Conditional Generative Adversarial Network, CGAN) 是一种生成对抗网络…...
编写Bash脚本程序从记录文件中提取history命令的优化,再介绍linux bash语法和结构
目 录 一、引言 二、脚本代码实现 三、bash语法和结构 (一)基本语法 1、脚本开始与结束 2、注释 3、变量 4、数据类型 5、控制结构 6、循环控制 7、函数 8、算术运算 9、算术操作符和逻辑操作符 (二)命令相关…...
Python中Numba库装饰器
一、运行速度是Python天生的短板 1.1 编译型语言:C 对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如 Windows 下的.exe文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随…...
Spring Boot Aop 执行顺序
Spring Boot Aop 执行顺序 1. 概述 在 spring boot 项目中,使用 aop 增强,不仅可以很优雅地扩展功能,还可以让一写多用,避免写重复代码,例如:记录接口耗时,记录接口日志,接口权限&…...
100天精通鸿蒙从入门到跳槽——第16天:ArkTS条件渲染使用教程
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》 — Go语言学习之旅!《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师!100天…...
【Linux C | 进程】Linux 进程间通信的10种方式(1)
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
橘子学Mybatis08之Mybatis关于一级缓存的使用和适配器设计模式
前面我们说了mybatis的缓存设计体系,这里我们来正式看一下这玩意到底是咋个用法。 首先我们是知道的,Mybatis中存在两级缓存。分别是一级缓存(会话级),和二级缓存(全局级)。 下面我们就来看看这两级缓存。 一、准备工作 1、准备数据库 在此之…...
看图说话:Git图谱解读
很多新加入公司的同学在使用Git各类客户端管理代码的过程中对于Git图谱解读不太理解,我们常用的Git客户端是SourceTree,配合P4Merge进行冲突解决基本可以满足日常工作大部分需要。不同的Git客户端工具对图谱展示会有些许差异,以下是SourceTre…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
