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){ //.. }
标签:控制器,请求,Agent,RequestHeader,User,注解,hello From: https://www.cnblogs.com/forever0406/p/17347166.html