返回顶部

@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){
//..
}

posted @   r1se  阅读(497)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示