SpringMVC常用的 5 个注解

一.@RequestParam ------ 从 URL 或表单取一个普通参数
表单:
name=张三
URL:
/user/save?name=张三
Controller 里写的:
public String save9(@RequestParam("username") String name)
相当于:
String name = request.getParameter("username");
二.@RequestBody ------ 从"请求体"中读取原始数据
这个方法的意思很简单:
1.不再用 request.getParameter
2.直接用 @RequestBody 把"请求体的原始内容"读出来,放进 body 字符串里
3.然后打印出来看看
POST 请求体例子:
info=测试一下 ("测试一下"是自己输入的文本)
你写:
public String save10(@RequestBody String body)
请求体全部内容被一次性读出来变成一个字符串。
浏览器把整个表单内容编码成:info=测试一下。
这串东西就是 HTTP 请求体。
@RequestBody String body 就是把这一整块原始内容读出来

和上一个 @RequestParam 的对比

@RequestParam("username") String name → 从 "参数列表" 里按 key 取一个值,相当于 request.getParameter("username")
@RequestBody String body → 把整个 HTTP 请求体当成一个大字符串拿回来,相当于 request.getReader() 把所有内容读完
所以:

  • RequestParam:按键值对取
  • RequestBody:直接把整块原始数据拿回来
    三.@PathVariable ------ 从 URL"路径的一部分"取值
    它用于从 URL 的路径里取值,而不是从参数、请求体、表单里取值。
    示例:
    /user/save11/张三/20.do
    定义:
    @RequestMapping("/save11/{name}/{age}.do") public String save11(@PathVariable("name") String username, @PathVariable("age") Integer age)
    相当于 Servlet:
    String path = request.getRequestURI(); 手动切字符串截出 name 和 age
    SpringMVC 自动帮你"匹配路径段 → 赋值给方法参数"。
    path 形式如下:
    http://localhost:8080/user/save11/张三/20.do
    点击访问之后,控制台会输出:
    路径中传来的名字:张三 路径中传来的年龄:20
    四.@RequestHeader ------ 获取请求头内部的具体信息
    例如请求头中:
    User-Agent: Mozilla/5.0 ... Accept-Language: zh-CN
    代码:
    public String save12(@RequestHeader("User-Agent") String agent)


    五.@CookieValue ------ 获取 Cookie 中的某个键
    浏览器发送的 Cookie:
    JSESSIONID=ABCD1234 theme=dark
    代码:
    public String save13(@CookieValue("JSESSIONID") String jsid)
    浏览器里拿到的JSESSIONID和控制台一样

相关推荐
Joy T2 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
m0_587383005 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·6 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
行百里er7 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
高频因子挖掘机8 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
鬼手点金8 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
孟健9 小时前
从5000亿Token到83%字节匹配:AI逆向工程与重构的工程闭环实践
后端·架构·ai编程
paopaokaka_luck9 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
码事漫谈10 小时前
丢得静悄悄,谈一谈 Agent 的记忆是怎么没的
后端