@RequestHeader注解:获取请求头参数
1.前言
Spring MVC提供了 @RequestHeader注解,其作用是将请求头中的参数值映射到控制器的参数中。常用属性如下:
- name:header值被绑定到的参数名称(The name of the request header to bind to)。只有此属性时,可以省略name,简写为
@RequestHeader("User-Agent")
。- required:Boolean类型,默认值为true,即请求头中必须包含此参数。
- defaultValue:为请求头中的参数提供默认值,如果拿不到值,就将此值赋给控制器的参数。
2.案例
在下面的代码片段中,定义了一个映射到/hello.htm的hello控制器方法。
同时用 @RequestHeader注解将请求头中”User-Agent“的变量与”userAgent“变量绑定。
当此某个请求映射到了此控制器方法,Spring会检查请求头中的”User-Agent“变量,并将其与”userAgent“变量绑定。
@Controller public class HelloController { @RequestMapping(value = "/test") public String hello(@RequestHeader(value="User-Agent") String userAgent){ //... } }
如果 @RequestHeader绑定的变量,在请求头中不存在,Spring会将控制器中的参数初始化为null。如果想给控制器参数提供一个默认值,在 @RequestHeader的defaultParameter属性。
@RequestMapping(value = "/hello.htm") public String hello(@RequestHeader(value="User-Agent", defaultValue="foo") String userAgent){ //.. }
---End---
永远积极向上!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!