SpringBoot如何接收前端传递参数

 更新时间:2024年08月06日 16:50:40   作者:小小李程序员  
这篇文章主要介绍了SpringBoot如何接收前端传递参数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

1)URL参数

  • 参数直接 拼接在URL的后面,使用 ? 进行分隔,多个参数之间用 & 符号分隔。
  • 例如:http://localhost:8080/user?name=zhangsan&id=1
  • 后端接收(在Controller方法的参数列表中使用 @RequestParam 注解):
@GetMapping("/user")
public User getUser(@RequestParam(name="name") String name,@RequestParam(name="id") Long id){
    // 处理 ...
}

2)请求头(HTTP Headers)

  • 请求头可以携带一些属性,如:message -> "123",可以放在请求头中
  • 例如:使用请求头中Authorization属性进行身份校验
  • 后端接收(在Controller方法的参数列表中使用 @RequestHeader 注解):
@GetMapping("/verify")
public Boolean verify(@RequestHeader(name="Authorization") String token){
    // 处理 ...
}

3)请求体(Body)

  • POST、PUT等请求可以在请求体中发送参数,请求体通常以 JSON 或表单形式传递
  • 例如,通过  POST  请求发送 JSON 数据:{"id": 1,"name": "小明", age: 18}
  • 后端接收(在Controller方法的参数列表中使用 @RequestBody 注解):
public class User{
    private Long id;
    private String name;
    private Integer age;
    //get、set方法等...
}
//接收参数部分提取
@PostMapping("/addUser")
public void addUser(@RequestBody User user){
    // 处理 ...
}

4)表单(Form)

  • 一般通过 POST 请求发送,表单中的每一项都会拼接到URL后面
  • 例如:
              name                张三
              age                18

这个表单拼接在 http://localhost:8080/addUser 后面: 

http://localhost:8080/addUse?name=张三&age=18,所以要用@RequestParam注解

@PostMapping("/addUser")
public void addUser(@RequestParam(name="name") String name,@RequestParam(name="age") Integer age){
    // 处理 ...
}

5)路径参数(Path Param)

@GetMapping("/getUser/{userId}")
public User getUser(@PathVariable(name="userId") Long id){
    // 处理 ...
}

6)Cookie  

  • cookie是浏览器存储在用户电脑上的一些数据,一般存在有效期, 
  • 可以通过 @CookieValue 注解获取指定的cookie数据
@GetMapping("/login")
public Boolean login(@CookieValue(name="username") String username,
                     @CookieValue(name="password") String password){
    // 处理 ...
}

7)在路径参数中封装的多条数据   

        其中boss是路径,"name=老板"与"age=44"属于boss路径下的参数

        同理emp是路径,"name=员工"与"age=18"属于emp路径下的参数

  • 利用 @MatrixVariable 注解进行获取路径内的数据
  • 如果要获取路径参数可以用 @PathVariable 注解
/*
	@MatrixVariable中的属性:
		name: 指定获取路径内数据的名称
		pathVar: 指定路径名称
*/
@GetMapping("/{Boss}/{Emp}")	// Boss是路径中的boss	Emp是路径中的emp
public void testMatrixVariable(
        //获取路径内封装的数据
    	@MatrixVariable(name="name",pathVar="Boss") String name,
        @MatrixVariable(name="age",pathVar="Boss")  Integer age,
        @MatrixVariable(name="name",pathVar="Emp")  String name,
        @MatrixVariable(name="age",pathVar="Emp")   Integer age,4
    	//获取路径参数
        @PathVariable(name="Boss") String boss,
        @PathVariable(name="Emp")  String emp
        ){
    // 处理 ...
}

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

相关文章

  • SpringBoot使用Prometheus实现监控

    SpringBoot使用Prometheus实现监控

    在当今的软件开发世界中,监控是至关重要的一部分,本文主要介绍了如何在Spring Boot应用程序中使用Prometheus进行监控,以帮助大家更好地理解和管理您的应用程序,有需要的可以参考下
    2023-10-10
  • 踩坑批量更新sql报错,实际sql能够正常执行的问题

    踩坑批量更新sql报错,实际sql能够正常执行的问题

    在项目工程迁移过程中,遇到了一个批量更新接口在新工程中报错的问题,通过分析,排除了代码错误的可能,最终发现是由于数据库连接配置不当导致的,在jdbc连接字符串中加入allowMultiQueries=true参数后,问题得以解决,这个参数的作用是允许SQL批量执行
    2022-12-12
  • 浅谈Java中的Queue家族

    浅谈Java中的Queue家族

    Java中Collection集合有三大家族List,Set和Queue。当然Map也算是一种集合类,但Map并不继承Collection接口。List,Set在我们的工作中会经常使用,通常用来存储结果数据,而Queue由于它的特殊性,通常用在生产者消费者模式中。今天这篇文章将带大家进入Queue家族。
    2021-06-06
  • Maven打包jar包没有主属性问题解决方案

    Maven打包jar包没有主属性问题解决方案

    这篇文章主要介绍了Maven打包jar包没有主属性问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • SpringBoot返回统一的JSON标准格式实现步骤

    SpringBoot返回统一的JSON标准格式实现步骤

    这篇文章主要介绍了SpringBoot返回统一的JSON标准格式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • springboot返回图片流的实现示例

    springboot返回图片流的实现示例

    本文主要介绍了springboot返回图片流的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • java删除文件夹下所有文件示例分享

    java删除文件夹下所有文件示例分享

    这篇文章主要介绍了java删除文件夹下所有文件示例,需要的朋友可以参考下
    2014-02-02
  • 关于Java Spring三级缓存和循环依赖的深入理解

    关于Java Spring三级缓存和循环依赖的深入理解

    对于循环依赖,我相信读者无论只是听过也好,还是有过了解也好,至少都有所接触。但是我发现目前许多博客对于循环依赖的讲解并不清楚,都提到了Spring的循环依赖解决方案是三级缓存,但是三级缓存每一级的作用是什么,很多博客都没有提到,本篇文章带你深入了解
    2021-09-09
  • Java读取Properties文件时保持顺序的解决过程

    Java读取Properties文件时保持顺序的解决过程

    文章讲述了解决Java中Properties文件读取时中文乱码问题的几种方法,包括重写Properties的put方法、拓展记录解决ResourceBundle读取properties中文乱码问题等
    2025-11-11
  • Java enum实现自增赋值方式

    Java enum实现自增赋值方式

    这篇文章主要介绍了Java enum实现自增赋值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论