SpringBoot常用注解-@PathVariable、@RequestParam 、@RequestBody

news2024/11/17 3:49:15

目录

@PathVariable

@RequestParam

@RequestBody


@PathVariable

@PathVariable 获取url中的数据,绑定路径中的占位符参数到方法参数变量中,get或者post方式都可以,如果URL中无参数,将会出错

例如获取/login/id/name中的id值和name值

@PathVariable注解来获取URL中参数的前提条件是知道url的格式

只有知道url的格式,我们才能在指定的方法上通过相同的格式获取相应位置的参数值

如果url的格式为:login?id该如何获取id值呢,这就需要使用@RequestParam

浏览器中输入地址:localhost:8087/login?id=99, 可以获取id的结果99

浏览器中输入地址:localhost:8087/login?id,不输入id的数值,获得的结果是null

浏览器中输入地址:localhost:8087/login,不输入id参数,将会出现400报错

@RequestParam

@RequestParam主要是将请求参数区域的数据映射到控制层方法的参数上

1.value:请求中传入参数的名称,可以不写,默认为""

2.required:该参数是否为必传项。默认是true,表示请求中一定要传入对应的参数,否则会报404错误,如果设置为false时,当请求中没有此参数,将会默认为null,而对于基本数据类型的变量,则必须有值,这时会抛出空指针异常

3.defaultValue:参数的默认值

如果参数前写了@RequestParam(xxx),那么前端必须有对应的xxx名字才行(不管其是否有值),如果没有xxx名的话,那么请求会出错,报400(需要将required设置为false来解决)

@RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交

在后端的同一个接收方法里,@RequestBody 与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个

RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数

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

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

相关文章

Pytorch建立MyDataLoader过程详解

简介 torch.utils.data.DataLoader(dataset, batch_size1, shuffleNone, samplerNone, batch_samplerNone, num_workers0, collate_fnNone, pin_memoryFalse, drop_lastFalse, timeout0, worker_init_fnNone, multiprocessing_contextNone, generatorNone, *, prefetch_factorN…

attention is all you need 超参数 私自解读

这几个超参数可变,但是也不能变得太多; 语言本身是复杂的,但可以按照多套语法体系来解剖语言现象,所以超参数是有一定可变的范围; 为什么是6层编码器和解码器呢? 人类的语言可以按照六个层次来组织&#…

Day14-2-NodeJS后端开发流程

Day14-NodeJS后端工程化流程 一 apifox工具 apifox是目前最好的接口调试工具 1 环境搭建 安装登录创建项目接口里面创建对应文件夹在指定的文件夹里面创建接口2 GET请求 1 apifox发送GET请求 2 后端接收GET请求 router.get("/getUserinfo"

拼多多商品详情API接入站点,实时数据json格式示例

作为国内最大的电商平台之一,拼多多数据采集具有多个维度。 有人需要采集商品信息,包括品类、品牌、产品名、价格、销量等字段,以了解商品销售状况、热门商品属性,进行市场扩大和重要决策; 商品数据:拼…

Navicat 蝉联 2023年度 DBTA 读者选择奖的“最佳数据库管理员解决方案”奖项和 DBTA 100 强名单

近日,Database Trends and Applications (简称 DBTA) 颁发的“读者选择奖”获奖名单新鲜出炉,Navicat 蝉联 2023 年度 DBTA 读者选择奖的“最佳数据库管理员(DBA)解决方案”奖项和 DBTA 100 强名单,我们感到无比荣幸和…

自动化编排工具Terraform介绍(一)

Terraform是什么?: Terraform 是 HashiCorp 公司旗下的 Provision Infrastructure 产品, 是 AWS APN Technology Partner 与 AWS DevOps Competency Partner。Terraform 是一个 IT 基础架构自动化编排工具,它的口号是“Write, Plan, and Create …

springMVC 已解密的登录请求

问题描述: 解决方案: 1.对用户所输入的密码在页面进行MD5加密并反馈至密码输入框。 2. 手动生成SSL安全访问证书;在此不做介绍,相关方法可通过网上查找; 3. 将产品HTTP访问方式改为SSL安全访问方式;在Ap…

Fast DDS(1)

1、什么是数据分发服务(DDS): 数据分发服务 (DDS) 是一种以数据为中心的通信协议,用于分布式软件应用程序通信。它描述了支持数据提供者和数据消费者之间通信的通信应用程序编程接口(API)和通信语义。 由于它是一个以数据为中心的…

java云智慧工地管理平台系统源码

智慧工地将“互联网”的理念和技术引入建筑工地,从施工现场源头抓起,最大程度地收集人员、安全、环境、材料等关键业务数据,依托物联网、互联网,建立云端大数据管理平台,形成“端云大数据”的业务体系和新的管理模式&a…

toLocaleString()方法

toLocaleString() 可以用来格式化,比如数字的格式化, 整数部分每三位加一个逗号 toLocaleString()还可以将数字转换为百分比 如:

印刷企业应该先部署MES管理系统还是ERP系统

在数字化转型的推动下,印刷企业也需要与时俱进,实现信息化和智能化管理。然而,在部署MES生产管理系统和企业ERP系统时,企业需要首先考虑应该先部署哪一个系统。本文将探讨这个问题,并阐述其原因。 一、印刷企业MES管理…

概念解析 | 雷达层析成像:探索隐形世界的新视角

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:雷达层析成像 (Radar Tomography Imaging)。 雷达层析成像:探索隐形世界的新视角 一、背景介绍 自从雷达(Radio Detection and Ranging)发明以来,它已经成为了我们生活…

二、SQL注入之联合查询

文章目录 1、SQL注入原理2、SQL注入的原因3、SQL注入的危害4、SQL注入基础4.1 MySQL相关4.2 SQL注入流程: 5、联合注入实例基本步骤6、总结 1、SQL注入原理 SQL注入(Sql Injection)就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&…

鉴源论坛 · 观模丨形式化方法的工业应用:航空领域

作者 | 徐奕龙飞 上海控安可信软件创新研究院系统建模组 版块 | 鉴源论坛 观模 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 摘 要 本文主要探讨了形式化方法在航空领域中的工业应用。航空领域作为安全攸关领域,其机载系统软件的开发…

【Unity 实用工具篇】✨ | 二维像素角色创作工具 2D Pixel Unit Maker

前言【Unity 实用工具篇 】 | 二维像素角色创作工具 2D Pixel Unit Maker一、介绍1.1 相关链接1.2 效果展示二、快速使用方法2.1 导入插件2.2 打开动画场景,完成初始化2.3 配置自己想要的二维像素角色三、导出角色动画序列帧四、导入新项目使用4.1 切割序列帧动画4.2 配置角色…

jvm-虚拟机栈

1.栈的存储单位 栈是运行时单位,而堆是存储的单位 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储问题,即数据怎么放,放在哪儿 java虚拟机栈 早期也叫java栈,每个线程在创…

电商数据采集和数据分析

不管是做渠道价格的治理,还是做窜货、假货的打击,都需要品牌对线上数据尽数掌握,准确的数据是驱动服务的关键,所以做好电商数据的采集和分析非常重要。 当线上链接较多,品牌又需要监测线上数据时,单靠人工肯…

华为手机怎么录屏?看这里,小白也能学会

“华为手机怎么录屏呀,新买的华为P30,还没怎么用过,今天看直播的时候突然想录屏,却找不到录屏按钮,我记得是有录屏功能的呀,有人会吗?教教我。” 华为手机作为一款领先的智能手机品牌&#xff…

docker 04(docker 应用部署)

一、部署Mysql 需求: 在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQLServer。 二、部署tomcat 三、部署nginx 四、部署redis

[ MySQL ] — 复合查询和内外连接的使用

目录 复合查询 多表查询 自连接 子查询 单行子查询 多行子查询 多列子查询 在from子句中使用子查询 合并查询 union union all 表的内连接和外连接 内连接 外连接 左外连接 右外连接 复合查询 多表查询 实际开发中往往数据来自不同的表,所以需要多表查…