@RequestMapping註解詳解

@RequestMapping

RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作爲父路徑。

RequestMapping註解有六個屬性,下面我們把她分成三類進行說明。

1、 value, method;

value:     指定請求的實際地址

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值,才能讓該方法處理請求。

 

示例

一個很坑的例子,前端採用ajaxFileupload上傳文件,後端返回json數據,前端通過彈出框顯示該json數據。但是在ie下,瀏覽器一直顯示是否下載該json,以下是我的解決方案:

後端:

@RequestMapping(value = "/caseFile/upload", consumes = "multipart/*", method = RequestMethod.POST, produces = {MediaType.TEXT_PLAIN_VALUE})

 

前端:

dataType: 'json',
"Content-Type": "application/json; charset=utf-8"

 

content-type常見值

在Http協議消息頭中,使用Content-Type來表示具體請求中的媒體類型信息。

例如: Content-Type: text/html;charset:utf-8;

 常見的媒體格式類型如下:

    text/html : HTML格式
    text/plain :純文本格式      
    text/xml :  XML格式
    image/gif :gif圖片格式    
    image/jpeg :jpg圖片格式 
    image/png:png圖片格式
   以application開頭的媒體格式類型:

   application/xhtml+xml :XHTML格式
   application/xml     : XML數據格式
   application/atom+xml  :Atom XML聚合格式    
   application/json    : JSON數據格式
   application/pdf       :pdf格式  
   application/msword  : Word文檔格式
   application/octet-stream : 二進制流數據(如常見的文件下載)
   application/x-www-form-urlencoded : <form encType=””>中默認的encType,form表單數據被編碼爲key/value格式發送到服務器(表單默認的提交數據的格式)
   另外一種常見的媒體格式是上傳文件之時使用的:

    multipart/form-data : 需要在表單中進行文件上傳時,就需要使用該格式
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章