Web常见请求参数接收的总结

news2024/12/23 22:16:01

首先本文所展示的参数接收的总结,都是基于Spring Boot框架而言的,不是一般传统方式使用request对象来完成参数的接收

 

简单参数的接收

对于简单参数的接收,在Spring Boot框架中,在Controller类中设置对应的处理方式时,只需要在方法形参中设置要接受的参数类型和名称即可,建议名称相同,就可以自动完成参数的接收,如果形参名称与请求传递来的参数名称不相同,就可以使用@RequestParam即可,示例如下:

 图中所标记的name为请求中参数的名称,username在方法中设置接收该参数值(name)的名称

具体文章参照:(19条消息) 请求响应-简单参数的接受_熵240的博客-CSDN博客

实体参数的接收

实体参数的接收需要通过实体类对实体参数中的值进行封装,一般实体类创建在POJO文件夹下,实体类中的成员变量名称与所要封装的参数名称一致比较好方便完成数据的封装,在然后在Controller类对应方法中的形参设置为对应实体类对象,Spring Boot根据请求的内容自动绑定到实体类对象的属性上。

如果出现对象的组合的情况(即一个类的成员变量是另一个类的对象),则在对应的实体类中要加入另一个实体类对象,并且设置其set/get方法完成数据封装,在发送的请求中使用对象名.对象属性的方式来指定其传递来的参数值。具体示例参考:(19条消息) 请求响应-实体参数的接受_熵240的博客-CSDN博客

数组参数的接收

当一个请求中的一个参数具有多个值时,可以在控制类的方法中来定义一个数组接收参数的值,数组名称与参数名称一致比较好,在Java中,当你打印一个对象时,它会调用该对象的toString()方法来获取表示该对象的字符串。对于数组对象,默认的toString()方法会返回对象的引用地址。如果你想打印数组的内容,你可以使用Arrays.toString(数组名)方法将数组转换为字符串,然后进行打印。

具体文章参照:(19条消息) 请求响应-数组集合参数的接受_熵240的博客-CSDN博客

集合参数的接收

使用集合接收参数与使用数组接收参数适用的情况是一致的,但在使用集合接收参数时,要使用@RequestParam绑定参数关系,Spring MVC 支持自动将请求参数转换为数组类型的参数,而无需显式指定 @RequestParam 注解。这种自动转换是由于 Spring MVC 的默认参数绑定行为所提供的。但是,如果你想要将请求参数绑定为 List<String> 类型而不是数组类型,就需要使用 @RequestParam 注解,以告诉 Spring MVC 将参数绑定为 List 类型的变量。综上所述,当方法参数声明为数组类型时,Spring MVC 会自动识别和转换请求中的多个参数值;而当方法参数声明为 List<String> 类型时,需要使用 @RequestParam 注解来显式指定参数的绑定方式。

具体文章参照:(19条消息) 请求响应-数组集合参数的接受_熵240的博客-CSDN博客

日期时间参数的接收

由于请求发送而来的时间数据的格式各不相同,所以要使用@DateTimeFormat注解完成日期参数格式的转换

具体文章参照:(19条消息) 请求响应-日期时间参数的接受_熵240的博客-CSDN博客

json参数的接收

发送json数据的请求方式是post,因为JSON格式的数据要存放到请全体中,而GET方法没有请全体。对于JSON格式的数据,也需要创建实体类来接收参数,其中实体类的成员变量名称与json数据的键名一致。便于完成数据的封装。在Controller类中的方法需要使用@RequestBody来标识实体类对象,即告诉使用哪一个实体类来封装json数据。

具体文章参照:(19条消息) 前期响应-json参数的接收_熵240的博客-CSDN博客

路径参数的接收

对于路径参数的接收,需要在Controller中对应的方法的请求路径中设置,使用{参数名}的方法来设置要接收的参数名称,然后在方法的形参中使用@PathVariable来指定要接收的参数类型与名称,将 URL 路径中的变量参数绑定到方法的参数上。

具体文章参照:(19条消息) 请求响应-路径参数的接收_熵240的博客-CSDN博客

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

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

相关文章

SpringMVC 中的数据验证如何使用 @Valid 注解

SpringMVC 中的数据验证如何使用 Valid 注解 在 Web 开发中&#xff0c;数据验证是一个非常重要的环节。它可以确保数据的合法性和正确性&#xff0c;保护系统不受到恶意攻击或用户误操作的影响。在 SpringMVC 中&#xff0c;我们可以使用 Valid 注解来实现数据验证。 Valid 注…

排序算法第二辑——选择排序

一&#xff0c;选择排序 选择排序算是简单排序中的渣渣&#xff0c;这种算法基本上是没有什么用处的。但是作为一个初学者&#xff0c;我又必须要会写这种算法。这种算法的实现实现思想和它的名字一样&#xff0c;就是在一个范围内选择最大或者最小的数据然后再交换数据实现排序…

山西电力市场日前价格预测【2023-07-13】

日前价格预测 预测明日&#xff08;2023-07-13&#xff09;山西电力市场全天平均日前电价为342.42元/MWh。其中&#xff0c;最高日前电价为403.93元/MWh&#xff0c;预计出现在00: 15。最低日前电价为282.08元/MWh&#xff0c;预计出现在24: 00。 价差方向预测 1&#xff1a;实…

为什么大部分游戏公司仍在坚持使用SVN?

游戏开发是一个复杂的过程&#xff0c;涉及多个开发人员的协作和大量的代码、艺术资源以及其他项目文件。版本控制系统在游戏开发中起着至关重要的作用。它提供了对项目代码和文件的管理、跟踪和协作能力&#xff0c;对于保持项目的稳定性、团队协作的顺畅性以及追踪项目历史和…

《微服务架构设计模式》第七章 在微服务架构中实现查询

内容总结自《微服务架构设计模式》 在微服务架构中实现查询 一、使用API组合模式查询1、简介2、设计形式3、弊端 二、使用CQRS进行查询1、简介2、利弊 三、CQRS架构1、设计2、存储3、数据访问模块 四、总结 一、使用API组合模式查询 1、简介 这是最简单的方法&#xff0c;应尽…

WebDAV之π-Disk派盘 + PDF Expert

PDF Expert 支持WebDAV方式连接π-Disk派盘。 PDF Expert是一款macOS上的办公软件,它具有专业的PDF编辑功能,可以快速从邮件、网页支持PDF打开,支持用户进行阅读、批注等功能,用户可以直接在PDF上进行编辑文字图片,表单文档、创建笔记、添加书单等自定义使用,大大提高工…

手写JAVA线程池

前言 手写一个简单的java线程池&#xff1a;重点关注&#xff0c;如何确保一直有运行的线程&#xff1f;如何确保线程消费提交的任务信息&#xff1f;。一直保存有运行的线程底层使用的是死循环。使用消息队列确保信息的提交和消费。消息队列使用先进先出原则。 步骤 线程池…

漏洞复现 || OpenSNS远程命令执行漏洞

免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&#xff0c;遵守公共秩序&#xff0c;尊重社会公德&#xff0c;不得危害网络安全&#xff0c;不得利用网络从事危害国家安全、荣誉和利益&#xff0c;未经授权请勿利用文章中的技术资料对任何计…

力扣 | 二分查找模板

力扣&#xff1a;二分查找 文章目录 &#x1f4da;二分查找&#x1f4da;模板I&#x1f449;x 的平方根&#x1f449;猜数字大小&#x1f449;搜索旋转排序数组 &#x1f4da;模板II&#x1f449;第一个错误的版本&#x1f449;寻找峰值 &#x1f4da;模板III&#x1f449;在排…

photoshop制作法线和凹凸贴图

做个选区 Ctrlj 法线贴图 生成凹凸贴图

Vue实现多语言(i18n)

第一步 安装i18n插件。 npm install vue-i18n第二步 在src目录下&#xff0c;创建一个【language】文件夹&#xff0c;并创建两个语言包js文件。 中文语言包&#xff1a;【zh.js】 英文语言包&#xff1a;【en.js】 第三步 完善en.js文件和zh.js文件。两个文件的结构要相…

系统架构设计师-项目管理

目录 一、盈亏平衡分析 二、进度管理 1、WBS工作分解结构 2、进度管理流程 &#xff08;1&#xff09;活动定义 &#xff08;2&#xff09;活动排序 &#xff08;3&#xff09;活动资源估算&#xff1a; &#xff08;4&#xff09;活动历时估算&#xff1a; &#xff08;5&…

谷歌浏览器添加首页快捷方式,并设置默认搜索引擎为百度

目录 1、添加首页快捷方式 ​2、谷歌浏览器设置默认搜索引擎 1、添加首页快捷方式 &#xff08;1&#xff09;首先要保证当前的默认搜索引擎为Google才可以添加首页的快捷方式。 &#xff08;2&#xff09;回到首页即可添加和自定义快捷方式的url &#xff08;3&#xff09;默…

Linux——系统文件IO(文件操作符 详解+代码)

文件操作符 1.回顾C语言文件接口总结 2.系统文件IO2.1 open函数介绍2.2代码测试2.3Q :fd为什么是3&#xff1f;012去哪里了&#xff1f;A: 3.如何理解Linux下一切皆文件 1.回顾C语言文件接口 写文件 #include <stdio.h> #include <string.h> int main() { FILE *…

【双指针】24. 两两交换链表中的节点

24. 两两交换链表中的节点 解题思路 dummyNode指向22 指向11 指向3然后移动指针 开始交换 3 4 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* L…

OpenAI GPT-4 Code Interpreter测试

OpenAI GPT-4 Beta版本Code Interpreter功能分析 OpenAI最近在GPT-4中推出了Code Interpreter功能的Beta版本&#xff0c;它是ChatGPT的一个版本&#xff0c;可以编写和执行Python代码&#xff0c;并处理文件上传。以下是对其表现的基本分析。 主要功能 文件信息获取&#xf…

Flutter入门教程(一),2023最新版包含安装,初始化!简单易懂!

Flutter入门教程&#xff08;一&#xff09;&#xff0c;2023最新版包含安装&#xff0c;初始化&#xff01;简单易懂&#xff01; Flutter介绍 首先&#xff0c;在一切的开始之前我们来介绍一下什么是Flutter&#xff0c;Flutter 是一个由 Google 开发的开源移动应用程序开发…

Openlayers实战:加载静态图片作为底图

我们经常会看到一些商场地图或者其他的静态图展示的情况,在Openlayers实战中,我们加载静态图片,使其成为底图,通过缩放,来展示各个部分。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN) * @此源代码版权归大剑师兰特所有,可供学习或…

回首2023上半年:成长、思考、感恩

文章目录 每日一句正能量前言一、目标达成情况总结二、工作和学习成果总结三、下半年规划总结四、个人想法 后记附录 每日一句正能量 做一个向日葵族&#xff0c;面对阳光&#xff0c;不自艾自怜&#xff0c;每天活出最灿烂的自己。曾经拥有的&#xff0c;不要忘记。不能得到的…

【JAVA】定时任务之借阅到期自动催还

该篇主要以定时任务为主&#xff0c;通知略为记录 一. 定时任务逻辑代码 定时任务文件 TaskScheduling.java package org.springblade.modules.task;import lombok.extern.slf4j.Slf4j; import org.springblade.modules.archiveAdvantage.service.IArchiveBorrowService; im…