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) {

// 处理逻辑

}

相关推荐
qo_tn2 分钟前
微信机器人-webhook技术文档_04-Docker-Compose部署与生产化配置
后端
程序员cxuan7 分钟前
Claude Opus 5 的系统提示词被扒出来了
人工智能·后端·程序员
豆沙沙包?9 分钟前
C++-程序的内存模型(P84-P88)
java·jvm·c++
董员外9 分钟前
RAG 系统进化论(十):可运营 RAG,从原型到长期运行的知识系统
人工智能·后端·设计模式
newerp17 分钟前
贪心算法 — 局部最优推导全局最优
后端
吴声子夜歌27 分钟前
正则指引——匹配原理
java·正则表达式
凤山老林28 分钟前
可观测性落地:Spring Boot 3.x + Actuator + Prometheus + Grafana 监控体系搭建
spring boot·grafana·prometheus
掘金者阿豪36 分钟前
SQL Server数据迁移实践:KES V9R4C019如何解决兼容性、性能与运维挑战
后端
不爱说话郭德纲44 分钟前
零基础,学做KMP项目,TRAE Work手把手带你月薪.....
前端·后端·app
鹏北海1 小时前
AI 全栈时代的多语言 SDK 版本管理:认识 mise
前端·后端