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
相关推荐
昊坤说不出的梦21 分钟前
【实战】监控上下文切换及其优化方案
java·后端
疯狂踩坑人31 分钟前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
天人合一peng34 分钟前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎
方也_arkling1 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
web打印社区2 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
m0_740043732 小时前
【无标题】
java·spring boot·spring·spring cloud·微服务
重整旗鼓~2 小时前
1.外卖项目介绍
spring boot
橘子师兄2 小时前
C++AI大模型接入SDK—ChatSDK封装
开发语言·c++·人工智能·后端
RFCEO2 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素