Http請求後端

前端

postman中 form-data、x-www-form-urlencoded、raw、binary的區別

1、form-data: 

       就是http請求中的multipart/form-data,它會將表單的數據處理爲一條消息,以標籤爲單元,用分隔符分開。既可以上傳鍵值對,也可以上傳文件。當上傳的字段是文件時,會有Content-Type來說明文件類型;content-disposition,用來說明字段的一些信息;

由於有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對,它採用了鍵值對的方式,所以可以上傳多個文件。

2、x-www-form-urlencoded:

       就是application/x-www-from-urlencoded,會將表單內的數據轉換爲鍵值對,比如,name=java&age = 23

3、raw

       可以上傳任意格式的文本,可以上傳text、json、xml、html等

4、binary

      相當於Content-Type:application/octet-stream,從字面意思得知,只可以上傳二進制數據,通常用來上傳文件,由於沒有鍵值,所以,一次只能上傳一個文件。

 

後端

handler method 參數綁定常用的註解,我們根據他們處理的Request的不同內容部分分爲四類:(主要講解常用類型)

A、處理requet uri 部分(這裏指uri template中variable,不含queryString部分)的註解:   @PathVariable;

B、處理request header部分的註解:   @RequestHeader, @CookieValue;

C、處理request body部分的註解:@RequestParam,  @RequestBody;

D、處理attribute類型是註解: @SessionAttributes, @ModelAttribute;

 

注意: 因爲request自身的原則:getReader或者getInputStream只能調用其中一個且只有一次可以正常獲取body中內容,導致在filter中通過getReader第一次讀取body中參數成功,當放行時,controller獲取不到body中內容

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