当前位置:首页 » 《关于电脑》 » 正文

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

6 人参与  2024年05月11日 14:16  分类 : 《关于电脑》  评论

点击全文阅读


目录

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

第二种:使用@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方法对对象进行修改赋值和提取。


点击全文阅读


本文链接:http://zhangshiyu.com/post/106971.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1