Spring Boot中常用的参数传递注解

  1. @RequestParam:用于将请求参数绑定到控制器处理方法的参数上,适用于GET请求。
  2. @PathVariable:用于获取请求URL中的动态参数,适用于RESTful风格的URL。
  3. @RequestBody:用于将请求体中的JSON字符串绑定到控制器处理方法的参数上。
  4. @RequestHeader:用于将请求头中的信息绑定到控制器处理方法的参数上。
  5. @ModelAttribute:用于将请求参数绑定到一个对象上,适用于POST请求。
  6. @RequestAttribute:用于将请求属性绑定到控制器处理方法的参数上。

当你使用了@Param注解来声明参数时,如果使用 #{} 或 {} 的方式都可以。如果不使用@Param注解来声明参数时,必须使用 #{}方式。如果使用 {} 的方式,会报错。

示例代码如下:

// 使用@RequestParam注解传参

@GetMapping("/user")

public String getUser(@RequestParam("id") Long id) {

// 处理逻辑

}

// 使用@PathVariable注解传参

@GetMapping("/user/{id}")

public String getUser(@PathVariable("id") Long id) {

// 处理逻辑

}

// 使用@RequestBody注解传参

@PostMapping("/user")

public String addUser(@RequestBody User user) {

// 处理逻辑

}

// 使用@RequestHeader注解传参

@GetMapping("/user")

public String getUser(@RequestHeader("User-Agent") String userAgent) {

// 处理逻辑

}

// 使用@ModelAttribute注解传参

@PostMapping("/user")

public String addUser(@ModelAttribute User user) {

// 处理逻辑

}

// 使用@RequestAttribute注解传参

@GetMapping("/user")

public String getUser(@RequestAttribute("id") Long id) {

// 处理逻辑

}

相关推荐
Tony Bai3 小时前
“我曾想付钱给 Google 去工作”—— Russ Cox 深度访谈:Go 的诞生、演进与未来
开发语言·后端·golang
45288655上山打老虎3 小时前
C++完美转发
java·jvm·c++
Seven973 小时前
查找算法
java
毕设源码-朱学姐4 小时前
【开题答辩全过程】以 公务员考试在线测试系统为例,包含答辩的问题和答案
java
serendipity_hky4 小时前
【SpringCloud | 第2篇】OpenFeign远程调用
java·后端·spring·spring cloud·openfeign
RwTo4 小时前
【源码】-Java线程池ThreadPool
java·开发语言
嘟嘟MD4 小时前
程序员副业 | 2025年11月复盘
后端·创业
SadSunset4 小时前
(15)抽象工厂模式(了解)
java·笔记·后端·spring·抽象工厂模式
汝生淮南吾在北4 小时前
SpringBoot+Vue养老院管理系统
vue.js·spring boot·后端·毕业设计·毕设
兮动人4 小时前
EMT4J定制规则版:Java 8→17迁移兼容性检测与规则优化实战
java·开发语言·emt4j