springboot接收前端参数的几种方式

文章介绍了在SpringBoot中接收前端参数的四种常见方法:直接指定参数、使用@RequestParam注解、@PathVariable以及@RequestBody。每种方法的适用场景和优缺点都有详细阐述,例如@RequestParam解决了参数名称必须一致的问题,而@RequestBody常用于接收完整对象的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

第一种:直接在方法中指定参数

第二种:使用@requesrParam注解

第三种方法:基于@pathVariable 

第四种方法:基于@ResquestBody

在开始之前,我们需要一下准备工作,创建数据库,springboot工程,添加依赖,配置文件,使用的技术有mybatisplus,springboot,maven,mysql。

首先,数据库建表

 然后,建立一个springboot项目,导入相关依赖,编写相关配置

其中,maven相关依赖

 application.yml配置文件,我使用了mybatisplus,使用需要相关的依赖和配置

为了便于前后端交互,我使用了json进行前后端数据传递,由Java后端进行数据封装

 该项目包结构如图所示

好了,到这里准备工作已经基本完成,我们来探究后端如何接收前端给我们的参数

第一种:直接在方法中指定参数

我们在UserController中编写一个方法,通过用户名和密码得到一个user对象

在接口中添加方法,在实现类中重写

 

 使用apifox进行测试,可以看到我们已经得到了返回结果

我们在UserController中使用了日志记录了查询过程,可以看到在控制台输出了username,说明我们已经得到了这个参数,但是该方法有有几个缺陷,一是我们在apifox中body中参数要一一对应,username和password的位置不能错,二是参数名称必需一致,如果不同则不能接收到该参数。

那么显然,这种接收参数的方法有很多缺陷,所以我们需要去改进。

第二种:使用@requesrParam注解

 

该方法解决了第一种方法的缺点,不需要参数一一对应,也不需要名称一致,在注解里面,可以随意填写任意名称,都可以对应。

第三种方法:基于@pathVariable

 

我们只需要在请求路径上添加参数,但是注意,路径上添加的参数需要用括号拼接,且和方法内对应的参数名称要相同。

第四种方法:基于@ResquestBody

该注解使用频率最高,可以将参数自动封装为一个对象

 用@ResquestBody封装的对象,我们可以完整的保留user对象中对应的所有属性,未赋值的属性对应为空,且可以通过set,get方法对对象进行修改赋值和提取。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值