一、标准的 HTTP 请求头
二、映射请求头
@RequestMapping 可以使用请求头映射请求。
headers:用来设置请求头信息,所发送的请求的请求头信息一定要和headers属性中所设置的一致
三、简单的表达式
headers 也支持简单的表达式,具体参考 params 的表达式
表达式:
param1: 表示请求必须包含名为 param1 的请求参数
!param1: 表示请求不能包含名为 param1 的请求参数
param1 != value1: 表示请求包含名为 param1 的请求参数,但其值不能为 value1
{"param1=value1", "param2"}: 请求必须包含名为 param1 和param2 的两个请求参数,且 param1 参数的值必须为 value1
四、代码示例
// 可以使用 headers 来更加精确的映射请求,且 headers 支持简单的表达式
@RequestMapping(value="/test",
method=RequestMethod.POST,
params= {"username","age!=12"}
headers= {"Accept-Language=zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"})
public String testPOST() {
System.out.println("SUCCESS:POST");
return "success";
}
注意:只有 Accept-Language 请求头满足上面的要求时,且其他条件同时满足,才能匹配到该映射。