SpringBoot中Get请求和POST请求接收参数详解 📅 发布时间:2026/7/8 6:49:13 👁️ 浏览次数: 1、Get请求1.1 方法形参接收参数这种方式一般适用参数比较少的情况并且前后端参数名称必须保持一致RestControllerRequestMapping(“/user”)Slf4jpublic class DemoController {GetMapping(/query) public void getStudent(String name,String age) { log.info(name:{},name); log.info(age:{},age); }}参数用 RequestParam 标注使用value属性指定参数名required属性表示这个参数是否必传RestControllerRequestMapping(“/user”)Slf4jpublic class DemoController {GetMapping(/query) public void getStudent(RequestParam(value name, required false) String name, RequestParam(value age, required false) String age) { log.info(name:{},name); log.info(age:{},age); }}1.2 实体类接收参数注意Get 请求以实体类接收参数时不能用 RequestParam 注解进行标注因为不支持这样的方式获取参数。RestController RequestMapping(/demo) Slf4j public class DemoController { GetMapping(/query) public void getStudent(Student student) { log.info(name:{},student.getName()); log.info(age:{},student.getAge()); } } Data class Student{ private String name; private Integer age; }1.3 通过HttpServletRequest接收参数RestController RequestMapping(/demo) Slf4j public class DemoController { GetMapping(/query) public void getStudent(HttpServletRequest request) { String name request.getParameter(name); String phone request.getParameter(age); log.info(name:{},name); log.info(age:{},age); } }1.4 通过PathVariable接收参数RestController RequestMapping(/demo) Slf4j public class DemoController { GetMapping(/query/{name}/{age}) public void getStudent(PathVariable String name, PathVariable String age) { log.info(name:{},name); log.info(age:{},age); } }1.5 接收数组参数RestController RequestMapping(/demo) Slf4j public class DemoController { GetMapping(/query) public void getStudent(String[] names) { Arrays.stream(names).forEach(System.out::println); } }1.6 接受集合参数注意SpringBoot 接收集合参数必须用 RequestParam 注解声明RestController RequestMapping(/demo) Slf4j public class DemoController { GetMapping(/query) public void getStudent(RequestParam ListString names) { names.forEach(System.out::println); } }2、POST请求2.1 方法形参接收参数前后端参数名称必须保持一致RestControllerRequestMapping(“/user”)Slf4jpublic class DemoController {PostMapping(/save) public void saveStudent(String name,String age) { log.info(name:{},name); log.info(age:{},age); }}参数用 RequestParam 标注使用value属性指定参数名required属性表示这个参数是否必传RestControllerRequestMapping(“/user”)Slf4jpublic class DemoController {PostMapping(/save) public void saveStudent(RequestParam(value name, required false) String name, RequestParam(value age, required false) String age) { log.info(name:{},name); log.info(age:{},age); }}2.2 通过HttpServletRequest接收参数RestController RequestMapping(/demo) Slf4j public class DemoController { PostMapping(/save) public void saveStudent(HttpServletRequest request) { String name request.getParameter(name); String phone request.getParameter(age); log.info(name:{},name); log.info(age:{},age); } }2.3 通过PathVariable接收参数RestController RequestMapping(/demo) Slf4j public class DemoController { PostMapping(/save/{name}/{age}) public void saveStudent(PathVariable String name, PathVariable String age) { log.info(name:{},name); log.info(age:{},age); } }2.4 通过param方式提交参数以实体类接收参数直接以实体类可以接收param、form-data、 x-www-form-urlencoded 提交的参数RestController RequestMapping(/demo) Slf4j public class DemoController { PostMapping(/save) public void saveStudent(Student student) { log.info(name:{},student.getName()); log.info(age:{},student.getAge()); } } Data class Student{ private String name; private Integer age; }2.5 请求体以JSON格式提交参数通过 RequestBody 注解接收参数接受实体类JSON参数RestControllerRequestMapping(“/demo”)Slf4jpublic class DemoController {PostMapping(/save) public void saveStudent(RequestBody Student student) { log.info(name:{},student.getName()); log.info(age:{},student.getAge()); }}Dataclass Student{private String name;private Integer age;}接收数组或者集合类JSON参数RestControllerRequestMapping(“/demo”)Slf4jpublic class DemoController {PostMapping(/save) public void saveStudent(RequestBody String[] names) { Arrays.stream(names).forEach(System.out::println); } PostMapping(/save) public void saveStudent(RequestBody ListString names) { names.forEach(System.out::println); }}2.6 通过 Map 接收参数RestController RequestMapping(/demo) Slf4j public class DemoController { PostMapping(/save) public void saveStudent(RequestParam MapString,Object map) { log.info(name:{},map.get(name)); log.info(age:{},map.get(age)); } }2.7 通过RequestBody 接收一个参数RestController RequestMapping(/demo) Slf4j public class DemoController { PostMapping(/save) public void saveStudent(RequestBody String name) { log.info(name:{},name); } }
SpringBoot中整合ONLYOFFICE在线编辑 SpringBoot整合OnlyOffice SpringBoot整合OnlyOffice实现在线编辑 1. 搭建私有的OnlyOffice的服务2. SpringBoot进行交互 2.1 环境2.2 我们的流程2.3 接口规划 2.3.1 获取编辑器配置的接口2.3.2 文件下载地址2.3.3 文件下载地址 3. 总结 4. 注意 4.1 你的项目的地址一定一定要… 2026/7/5 5:15:11
基于Java+SSM+Django高校后勤报修系统(源码+LW+调试文档+讲解等)/高校后勤管理/报修系统/高校报修/后勤报修/维修管理/校园后勤/报修服务/故障报修/后勤服务/高校物业管理 博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题… 2026/5/17 9:31:36
出差买特产,竟然能当天打包发货? 出差买特产,竟然能当天打包发货?在快节奏的现代生活中,出差已经成为许多人的常态。而每次出差归来,总想带点当地特色产品给家人或朋友,以表达心意。然而,传统的购买方式往往需要现场挑选、排队结账… 2026/7/8 6:46:56
FreeRTOS v202411.00 内存管理实战:heap_4 vs heap_5 在 STM32F4 上的性能与碎片对比 FreeRTOS v202411.00 内存管理实战:heap_4 vs heap_5 在 STM32F4 上的性能与碎片对比嵌入式系统开发中,内存管理一直是影响系统稳定性和性能的关键因素。FreeRTOS作为市场占有率领先的实时操作系统,提供了5种动态内存管理算法,其中… 2026/7/8 6:44:56
VisualCppRedist AIO:一站式解决Windows应用程序依赖问题的终极方案 VisualCppRedist AIO:一站式解决Windows应用程序依赖问题的终极方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为Windows系统上频繁出现的&… 2026/7/8 6:42:55
医疗系统数据备份与恢复方案:医院和临床 IT 团队完整指南 大多数医疗保健备份方案都以备份作业完成率来衡量。但真正重要的指标是,在临床运营所需的时间范围内,针对正确的系统,以合适的粒度进行恢复,是否有效。本指南涵盖了医疗保健数据备份在操作上与通用企业备份的不同之处、如何构建在… 2026/7/8 6:42:55
我本来只想改一个物流费,结果写了一个团队都在用的在线计算器 那天下午,运营同事发来一句话: “物流费又涨了。帮忙改一下参数。” 我当时心想:又是改几个数字。 结果后来,我写了一个团队都在用的在线物流费计算器。 一开始,我以为只是改几个数字 我们项目里,物流费… 2026/7/8 6:42:55
SPDK网络存储实现:NVMe-oF和iSCSI target的完整部署指南 SPDK网络存储实现:NVMe-oF和iSCSI target的完整部署指南 【免费下载链接】spdk Storage performance development kit 项目地址: https://gitcode.com/openeuler/spdk 前往项目官网免费下载:https://ar.openeuler.org/ar/ SPDK(Sto… 2026/7/8 6:40:55
BetterNCM安装器:高效管理网易云插件的最佳选择 BetterNCM安装器:高效管理网易云插件的最佳选择 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件的繁琐安装流程而烦恼吗?BetterNCM安装器是… 2026/7/8 0:02:48
运动控制系统安全设置对比:ECI3808的3种限位保护与急停逻辑实现 运动控制系统安全机制深度解析:限位保护与急停逻辑的设计哲学在精密制造与自动化领域,运动控制系统的安全设计绝非简单的功能堆砌,而是一套融合了机械工程、电气原理和软件算法的防御体系。当一台数控机床以每分钟数万转的速度运转࿰… 2026/7/8 0:06:48
AI大模型应用开发:小白也能抓住的红利风口,收藏这篇入门指南! 文章指出,虽然微软等科技巨头在裁员,但英伟达等公司却在积极扩招AI相关人才,尤其是具身智能、仿真等领域。AI行业正在经历结构性调整,传统岗位被淘汰,而大模型应用开发等新岗位需求旺盛。对于想转行或学习AI的普通人来… 2026/7/8 0:10:49
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/7 11:26:57
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/7 11:26:58