HTTP協(xié)議采用的是請求失尖、響應(yīng)模型,客戶端發(fā)出請求纬朝,服務(wù)器響應(yīng)結(jié)果收叶。在傳輸中的消息資源包括header和body兩部分。前幾節(jié)我們學習了獲取body參數(shù)共苛、URL判没、URITemplate參數(shù)的方法。今天我們學習如何獲取header部分的數(shù)據(jù)隅茎。SpringMVC提供了@RequestHeader注解用于映射請求頭數(shù)據(jù)到Controller方法的對應(yīng)參數(shù)澄峰。
小博老師先跟大家介紹一下請求頭(header)數(shù)據(jù)主要有哪些:
使用@RequestHeader注解與使用@RequestParam一樣,在方法參數(shù)前加上注解即可辟犀,如下面的示例:
@RequestMapping("/boweifeng")
public void queryUser(@RequestHeader("Accept-Encoding") String encoding, ?@RequestHeader("Keep-Alive") long keepAlive) ?{
}
該示例把請求頭(header)部分的 Accept-Encoding的值俏竞,綁定到了參數(shù)encoding上了, 把請求頭中Keep-Alive的值綁定到參數(shù)keepAlive上。
注意事項:
如果指定的參數(shù)在請求頭中不存在魂毁,Spring將會初始化該參數(shù)為null玻佩。如果想要設(shè)置默認值,可以使用defaultValue指定漱牵,如下面紅色部分標識夺蛇。
public void queryUser(
@RequestHeader(value="Accept-Encoding",defaultValue="UTF-8") String encoding,
@RequestHeader("Keep-Alive") long keepAlive) ?{
}