4--SpringBootWeb-请求响应
目录
postman
1.简单参数
请求参数名与形参变量名一致时
请求参数名与形参变量名不一致时
2.实体参数
简单实体对象
复杂实体对象
3.数组集合参数
数组
集合
4.日期参数
5.JSON参数
6.路径参数
1
2
postman
Postman值一款功能强大的网页调试与发送网页HTTP请求的Chrome插件
作用:常用于进行接口测试
1.简单参数
定义方法形参,请求参数名与形参变量名一致,如果不一致,通过@RequestParam手动映射。
请求参数名与形参变量名一致时



控制台返回得到:tom:30

请求参数名与形参变量名不一致时


控制台返回null:30
因为请求参数名与形参变量名不一致,username和name

解决办法:使用@RequestParam手动映射
注意:@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数是可选的,可以将required属性设置为false。

重新发送请求

控制台得到:tom:30

2.实体参数
请求参数名,与实体对象的属性名一样,会自动接收封装
简单实体对象

User中代码为:
package org.example.springboot2.pojo;public class User {private String name;private Integer age;public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public Integer getAge() {return age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}
}

控制台得到

复杂实体对象
请求参数名与形参对象属性名相同,按照对象的层次结构关系即可接收嵌套POJO属性参数

Address中代码为
package org.example.springboot2.pojo;public class Address {private String province;private String city;@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}}
并将User中代码改为
package org.example.springboot2.pojo;
import org.example.springboot2.pojo.Address;public class User {private String name;private Integer age;private Address address;public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public Integer getAge() {return age;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}
}
在RequestController中增加代码:


控制台得到

3.数组集合参数
数组
数组:请求参数名与数组名一致,直接封装
数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收数据
加入以下代码
//3.数组集合参数@RequestMapping("/arrayParam")public String arrayParam(String[] hobby){System.out.println(Arrays.toString(hobby));return "OK";}


控制台显示

集合
集合:请求参数名与集合名一致,@RequestParam绑定关系
增加以下代码
@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "OK";}


控制台显示得到

4.日期参数
日期参数:使用@DateTimeFormat注解完成日期参数格式转换
增加代码如下
//4.日期事件参数@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){System.out.println(updateTime);return "OK";}


在控制台显示

5.JSON参数
JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody
增加以下代码:
//5.JSON参数@RequestMapping("/jsonParam")public String jsonParam(@RequestBody User user){System.out.println(user);return "OK";}


在控制台显示

6.路径参数
通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@PathVariable获取路径参数
1
增加以下代码
//6.路径参数@RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id){System.out.println(id);return "OK";}


控制台显示

控制台显示

2
增加以下代码
@RequestMapping("/path/{id}/{name}")public String pathParam2(@PathVariable Integer id,@PathVariable String name){System.out.println(id);System.out.println(name);return "OK";}


控制台显示


控制台显示

相关文章:
4--SpringBootWeb-请求响应
目录 postman 1.简单参数 请求参数名与形参变量名一致时 请求参数名与形参变量名不一致时 2.实体参数 简单实体对象 复杂实体对象 3.数组集合参数 数组 集合 4.日期参数 5.JSON参数 6.路径参数 1 2 postman Postman值一款功能强大的网页调试与发送网页HTTP请求的…...
电脑点击关机之后,又自动重启开机了。根本就关不了?
前言 有个小姐姐说,她家的电脑好生奇怪:点击【关机】按钮之后,电脑提示【正在关机】,过了几秒,电脑又自动开机了…… 好家伙!也就是说关机和重启根本就没区别,电脑完全无法断电。 最后忍无可…...
强化网络安全:通过802.1X协议保障远程接入设备安全认证
随着远程办公和移动设备的普及,企业网络面临着前所未有的安全挑战。为了确保网络的安全性,同时提供无缝的用户体验,我们的 ASP 身份认证平台引入了先进的 802.1X 认证协议,确保只有经过认证的设备才能接入您的网络。本文档将详细介…...
链动2+1模式AI智能名片S2B2C商城小程序源码在社群商业价值构建中的应用探索
摘要:在数字经济浪潮的推动下,社群作为商业生态的核心组成部分,其商业价值正以前所未有的速度增长。本文深入探讨了如何通过“链动21模式AI智能名片S2B2C商城小程序源码”这一前沿技术工具,深度挖掘并优化社群的商业价值。通过详细…...
基于SpringBoot+Vue+MySQL的校园周边美食探索及分享平台
系统背景 在当今数字化时代,校园生活正日益融入信息技术的浪潮之中,学生们对于便捷、高效且富有趣味性的生活方式有着越来越高的追求。特别是在饮食文化方面,随着校园周边餐饮业态的日益丰富,学生们渴望一个能够集美食探索、分享与…...
“设计模式双剑合璧:工厂模式与策略模式在支付系统中的完美结合”
工厂模式(Factory Pattern)和策略模式(Strategy Pattern)都是常见的设计模式,但它们解决的问题和应用场景不同。下面是它们的区别: 1. 目的不同: 工厂模式(Factory Pattern…...
第二百一十九节 JPA 教程 - JPA 字段映射示例
JPA 教程 - JPA 字段映射示例 当将 Java bean 字段映射到数据库列时,我们可以选择标记字段,标记 getter 方法并标记两者。 标记字段 以下代码来自 Professor.java。 它显示如何将主键列标记为 Java bean 字段标识。 package cn.w3cschool.common; im…...
目标检测-YOLOv6
YOLOv6 YOLOv6 是 YOLO 系列的一个新版本,相比 YOLOv5 进行了大量的优化与改进。YOLOv6 的设计目标是在提高模型检测精度的同时,进一步优化速度和效率,特别是在推理速度和部署便捷性方面。它采用了更先进的网络架构和优化技巧,在…...
Java面向对象与多态
目录 Java面向对象与多态 多态介绍 形成多态的前提 多态下成员访问的特点 成员变量 成员方法 访问特点总结 多态对比普通继承 普通继承优点与缺点 多态优点与缺点 向上转型与向下转型 向下转型存在的问题 多态接口练习 Java面向对象与多态 多态介绍 在前面学习到…...
redis分布式锁和lua脚本
业务场景:多个线程对共同资源的访问:库存超卖/用户重复下单的原因 解决方法一:利用jvm内置锁,将非原子性操作变成原子性操作 Synchronized锁的是对象,对象必须是单例的。锁的是this,代表当前所在的类,这个…...
项目实战 ---- 商用落地视频搜索系统(5)---service层核心
目录 背景 向下service 层 描述 功能 代码实现 核心阐述 向上service层 描述 功能 代码实现 核心阐述 背景 之前的 1-4 重点在介绍系统的实现架构,录入数据的组织形式,存储模式,search 方式,以及后期算法等。重点都是聚焦在后端。现在来看,基本的后端实现我们…...
Win32远线程注入
远线程注入 远线程(RemoteThread)注入是指一个进程在另一个进程中创建线程的技术,这是一种很经典的DLL注入技术。 虽然比较古老,但是很实用。通过远线程注入,再配合api函数的hook技术,可以实现很多有意思的功能。 实现远线程注入…...
CTF 竞赛密码学方向学习路径规划
目录 计算机科学基础计算机科学概念的引入、兴趣的引导开发环境的配置与常用工具的安装Watt Toolkit(Steam)、机场代理Scoop(Windows 用户可选)常用 Python 库SageMathLinux小工具 yafuOpenSSL Markdown编程基础Python其他编程语言…...
2024数学建模国赛B题代码
B题已经完成模型代码!详情查看文末名片 问题1:可以考虑使用统计学中的“样本量估算”方法,使用二项分布或正态近似来决定最少的样本量,并通过假设检验(如单侧检验)在95%和90%置信度下进行判断。 import n…...
PyTorch 卷积层详解
PyTorch 卷积层详解 卷积层(Convolutional Layers)是深度学习中用于提取输入数据特征的重要组件,特别适用于处理图像和序列数据。PyTorch 提供了多种卷积层,分别适用于不同维度的数据。本文将详细介绍这些卷积层,特别…...
【Kubernetes知识点问答题】kubernetes 控制器
目录 1. 说明 K8s 控制器的作用? 2. 什么是 ReplicaSet,说明它的主要用途。 3. Deployment 控制器是如何工作的,举例说明其常见用途。 4. 解释 DaemonSet,列举其使用场景。 5. 什么是 StatefulSet,其主要作用是什么…...
Patlibc———更快捷的更换libc
起初是为了简化做pwn题目时,来回更换libc的麻烦,为了简化命令,弄了一个小脚本,可以加入到/usr/local/bin中,当作一个快捷指令🔢 这个写在了tools库(git clone https://github.com/CH13hh/tools…...
基于飞腾平台的Hive的安装配置
【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…...
c# json使用
安装包 用NuGet安装包:Newtonsoft.Json 对象转为Json字符串 public class Person {public string Name { get; set; }public int Age { get; set; } }Person person new Person { Name "John Doe", Age 30 }; string json2 JsonConvert.SerializeO…...
单点登录:cas单点登录实现原理浅析
cas单点登录实现原理浅析 一晃几个月没写博客了,今年多灾多难的一年。 安能摧眉折腰事权贵,使我不得开心颜! 财富是对认知的补偿,不是对勤奋的嘉奖。勤奋只能解决温饱,要挣到钱就得预知风口,或者有独到见解…...
Qwen3-14B API服务压测报告:QPS 23+,P99延迟<1.2s高并发表现
Qwen3-14B API服务压测报告:QPS 23,P99延迟<1.2s高并发表现 1. 测试环境与配置 1.1 硬件配置 本次压测采用专门优化的Qwen3-14B私有部署镜像,运行在以下硬件环境: GPU:RTX 4090D 24GB显存(与镜像完美…...
Qwen3.5-9B-AWQ-4bit效果展示:多行表格截图→结构化JSON输出+中文摘要双模式
Qwen3.5-9B-AWQ-4bit效果展示:多行表格截图→结构化JSON输出中文摘要双模式 1. 模型能力惊艳展示 千问3.5-9B-AWQ-4bit作为一款支持图像理解的多模态模型,在处理表格类图片时展现出令人印象深刻的能力。它不仅能够准确识别表格内容,还能提供…...
Doorkeeper与Active Storage集成终极指南:如何为OAuth认证系统添加文件上传功能 [特殊字符]
Doorkeeper与Active Storage集成终极指南:如何为OAuth认证系统添加文件上传功能 🚀 【免费下载链接】doorkeeper Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape. 项目地址: https://gitcode.com/gh_mirrors/do/doorkeeper Doorke…...
Phi-4-mini-reasoning实操手册:从模型加载到端口访问完整流程
Phi-4-mini-reasoning实操手册:从模型加载到端口访问完整流程 1. 模型概述 Phi-4-mini-reasoning是一款3.8B参数的轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。该模型由Azure AI Foundry开发,主打"小参数、强推…...
3大核心功能+5步部署:Alas碧蓝航线智能脚本让游戏自动化触手可及
3大核心功能5步部署:Alas碧蓝航线智能脚本让游戏自动化触手可及 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript …...
Nanbeige像素冒险聊天终端:从start.sh到supervisorctl的完整使用流程
Nanbeige像素冒险聊天终端:从start.sh到supervisorctl的完整使用流程 1. 项目概览与环境准备 Nanbeige 4.1-3B像素冒险聊天终端是一款融合复古游戏美学与AI对话功能的创新工具。这套系统采用Streamlit框架构建,通过精心设计的像素风格界面,…...
Qwen3.5-9B训练复现:从SFT到RLHF的全流程开源实践指南
Qwen3.5-9B训练复现:从SFT到RLHF的全流程开源实践指南 1. 项目概述 Qwen3.5-9B是一个拥有90亿参数的开源大语言模型,具备强大的逻辑推理、代码生成和多轮对话能力。该模型支持多模态理解(图文输入)和长上下文处理(最…...
忍者像素绘卷微信小程序云开发实践:Serverless生成服务架构
忍者像素绘卷微信小程序云开发实践:Serverless生成服务架构 1. 项目背景与核心价值 忍者像素绘卷是一款基于微信小程序平台的云端图像生成工具,采用Serverless架构实现。它将传统漫画创作与AI技术相结合,为用户提供简单高效的像素艺术创作体…...
南北阁Nanbeige 4.1-3B效果展示:同一问题在不同temperature设置下的风格对比
南北阁Nanbeige 4.1-3B效果展示:同一问题在不同temperature设置下的风格对比 1. 引言:为什么关注temperature参数? 如果你用过AI对话工具,可能会发现一个有趣的现象:同一个问题,有时候AI的回答严谨专业&a…...
Flutter鸿蒙化适配中遇到的问题
Flutter 环境搭建避坑指南Flutter 作为跨平台开发的热门框架,凭借一套代码多端运行的优势,深受开发者喜爱,但环境搭建与适配却是新手入门的第一道拦路虎。我在初次配置 Flutter 开发环境时,接连踩中环境变量、模拟器版本、第三方工…...
