@RequestMapping是一個用來處理請求地址映射的注解,可用於類或者方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。@RequestMapping注解有六個屬性,下面進行詳細的說明。
1.value, method.
value:指定請求的實際地址,指定的地址可以是URI Template模式。
method:指定請求的method類型,GET、POST、PUT、DELETE等。
2.consumes, produces.
consumes:指定處理請求的提交內容類型(Content-Type),例如application/json,text/html;
produces:指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;
3.params, headers.
params:指定request中必須包含某些參數值才讓該方法處理。
headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求。
handler method參數綁定常用的注解,根據他們處理的request的不同內容部分分為四類:
A:處理request uri部分的注解:@PathVariable;
B:處理request header部分的注解:@RequestHeader, @CookieValue;
C:處理request body部分的注解:@RequestParam, @RequestBody;
D:處理attribute類型的注解:@SessionAttributes, @ModelAttribute;
1.@PathVariable
當使用@RequestMapping URI template樣式映射時,即someUrl/{paramId},這時的paramId可通過@PathVariable注解綁定它傳過來的值到方法的參數上。
2.@RequestHeader、@CookieValue
@RequestHeader注解可以把Request請求header部分的值綁定到方法的參數上。
@CookieValue可以把Request header中關於cookie的值綁定到方法的參數上。