天天看點

關于Content-Type幾種值的差別及用法(@requestBody注解)

@requestBody注解常用來處理content-type不是預設的application/x-www-form-urlcoded編碼的内容,比如說:application/json或者是application/xml等。一般情況下來說常用其來處理application/json類型。

關于Content-Type幾種值的差別及用法(@requestBody注解)
1、Content-Type 的值類型:
1.1  application/json:消息主體是序列化後的 JSON 字元串

1.2  application/x-www-form-urlencoded:資料被編碼為名稱/值對。這是标準的編碼格式

1.3  multipart/form-data: 需要在表單中進行檔案上傳時,就需要使用該格式。常見的媒體格式是上傳檔案之時使用的

1.4  text/plain:資料以純文字形式(text/json/xml/html)進行編碼,其中不含任何控件或格式字元。      
2、application/json 和 application/x-www-form-urlencoded的差別
2.1 application/json:

作用: 告訴伺服器請求的主題内容是json格式的字元串,伺服器端會對json字元串進行解析,

好處: 前端人員不需要關心資料結構的複雜度,隻要是标準的json格式就能送出成功。

2.2  application/x-www-form-urlencoded:是Jquery的Ajax請求預設方式

作用:在請求發送過程中會對資料進行序列化處理,以鍵值對形式?key1=value1&key2=value2的方式發送到伺服器,

好處: 所有浏覽器都支援      
3、 application/x-www-form-urlencoded:資訊資料被編碼為名稱/值對,這是标準且預設的編碼格式
3.1  當action為get時候,用戶端把form資料轉換成一個字串append到url後面,用'?'分割。

3.2  當action為post時候,浏覽器把form資料封裝到http body中,然後發送到server。(可以取消post請求的預檢請求)