springboot接收前端参数的四种方式图文详解

 更新时间:2023年11月29日 10:18:40   作者:撒哈拉a1  
Spring Boot可以通过多种方式接收前端传递的数据,下面这篇文章主要给大家介绍了关于springboot接收前端参数的四种方式,文中通过图文介绍的非常详细,需要的朋友可以参考下

前言

在开始之前,我们需要一下准备工作,创建数据库,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方法对对象进行修改赋值和提取。

总结

到此这篇关于springboot接收前端参数的四种方式的文章就介绍到这了,更多相关springboot接收前端参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java获取ip地址与网络接口的方法示例

    java获取ip地址与网络接口的方法示例

    这篇文章主要给大家介绍了关于利用java如何获取ip地址与网络接口的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Java三种获取redis的连接及redis_String类型演示(适合新手)

    Java三种获取redis的连接及redis_String类型演示(适合新手)

    这篇文章主要介绍了Java三种获取redis的连接及redis_String类型演示(适合新手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 2020最新 idea下载、安装与创建项目测试的教程图解

    2020最新 idea下载、安装与创建项目测试的教程图解

    这篇文章主要介绍了2020最新 idea下载、安装与创建项目测试的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 引入QQ邮箱发送验证码进行安全校验功能实现

    引入QQ邮箱发送验证码进行安全校验功能实现

    最近遇到这样的需求用户输入自己的邮箱,点击获取验证码,后台会发送一封邮件到对应邮箱中,怎么实现呢?下面小编给大家带来了引入QQ邮箱发送验证码进行安全校验功能,需要的朋友可以参考下
    2023-02-02
  • 关于MyBatis10种超好用的写法(收藏)

    关于MyBatis10种超好用的写法(收藏)

    这篇文章主要介绍了关于MyBatis10种超好用的写法(收藏),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java8中接口的新特性测试

    Java8中接口的新特性测试

    今天小编就为大家分享一篇关于Java8中接口的新特性测试,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Java中Date时间类的使用方法举例

    Java中Date时间类的使用方法举例

    这篇文章主要给大家介绍了关于Java中Date时间类的使用方法,在java开发中,很多字段是Date类型的,文中通过代码示例将Date时间类使用的方法介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • Java 数据类型及类型转换的互相转换实例代码

    Java 数据类型及类型转换的互相转换实例代码

    这篇文章主要介绍了Java 数据类型及类型转换的互相转换实例代码,需要的朋友可以参考下
    2020-10-10
  • JavaCV与FFmpeg音视频流处理技巧总结大全

    JavaCV与FFmpeg音视频流处理技巧总结大全

    JavaCV是一个开源的Java接口,它为几个著名的计算机视觉库(如OpenCV、FFmpeg)提供了Java封装,这篇文章主要给大家介绍了关于JavaCV与FFmpeg音视频流处理技巧总结的相关资料,需要的朋友可以参考下
    2024-05-05
  • SpringBoot参数校验与国际化使用教程

    SpringBoot参数校验与国际化使用教程

    这篇文章主要给大家介绍了关于SpringBoot参数校验与国际化使用教程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论