Spring Boot接收前端参数的注解总结

在 Spring Boot 里,后端控制器方法(Controller)可以通过不同的注解来"接收前端传来的参数",这些注解分别对应不同的传参方式。


🌟 常见的参数接收注解对比

注解 来源 用法 示例 URL / 请求体 说明
@PathVariable 路径变量 从 URL 路径中取参数 /user/123 用于 RESTful 风格接口,例如 /wish/delete/13
@RequestParam 查询参数(URL 上 ? 后面) 从 URL 的查询字符串取参数 /wish/delete?wishId=13 适合简单参数
@RequestBody JSON 请求体 从请求体中取参数 {"wishId":13,"title":"test"} 常用于 POST 请求
@RequestHeader 请求头 从 HTTP header 中取值 Authorization: Bearer xxx 取请求头里的值
@CookieValue Cookie 从 Cookie 里取值 - 比较少用
@ModelAttribute 表单参数 绑定到一个对象上(传统 form 表单) - 适用于 application/x-www-form-urlencoded

💡 举例讲解

✅ 1️⃣ @PathVariable

java 复制代码
@DeleteMapping("/wish/delete/{wishId}")
public boolean deleteWish(@PathVariable Long wishId) {
    return wishService.deleteWish(wishId);
}

👉 URL: DELETE /wish/delete/13
wishId = 13


✅ 2️⃣ @RequestParam

java 复制代码
@PostMapping("/wish/delete")
public boolean deleteWish(@RequestParam Long wishId) {
    return wishService.deleteWish(wishId);
}

👉 URL: POST /wish/delete?wishId=13
wishId = 13


✅ 3️⃣ @RequestBody

java 复制代码
@PostMapping("/wish/delete")
public boolean deleteWish(@RequestBody Map<String, Object> data) {
    Long wishId = (Long) data.get("wishId");
    return wishService.deleteWish(wishId);
}

👉 请求体:

json 复制代码
{
  "wishId": 13
}

适用于前端使用 wx.request 发送 JSON 格式数据。


✅ 4️⃣ 组合对象绑定

你也可以直接接收一个对象:

java 复制代码
@PostMapping("/wish/add")
public boolean addWish(@RequestBody Wish wish) {
    return wishService.addWish(wish);
}

👉 请求体:

json 复制代码
{
  "title": "学习SpringBoot",
  "description": "今天学@RequestParam"
}

🔍 小结

使用场景 推荐注解
REST 风格 URL /api/user/123 @PathVariable
URL 查询参数 /api/user?id=123 @RequestParam
JSON 请求体 { "id": 123 } @RequestBody
相关推荐
yuhaiqiang1 分钟前
被 AI 忽悠后,开始怀念搜索引擎了?
前端·后端·面试
红色石头本尊17 分钟前
1-umi-前端工程化搭建
前端
真夜24 分钟前
关于对echart盒子设置百分比读取的宽高没有撑开盒子解决方案
前端
二闹31 分钟前
Python文件读取三巨头你该选择哪一个?
后端·python
彭于晏Yan32 分钟前
Spring AI(二):入门使用
java·spring boot·spring·ai
楠木68538 分钟前
RAG 资料库 Demo 完整开发流程
前端·ai编程
肠胃炎1 小时前
挂载方式部署项目
服务器·前端·nginx
苏三说技术1 小时前
推荐几个牛逼的AI Agent项目
后端
像我这样帅的人丶你还1 小时前
使用 Next.js + Prisma + MySQL 开发全栈项目
前端
FPGA小迷弟1 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga